HJM

导航

shell练习题4

需求如下:

系统logrotate工具,可以完成日志切割、归档。写一个shell脚本实现类似功能。

举例:假如服务的输出日志是1.log,要求每天归档一个,1.log第二天就变成1.log.1,

第三天1.log.2,第四天l.log.3,一直到1.log.5

参考解答如下

  • 方法1
#!/bin/bash
#

rem_file()
{
    [ -f $1 ] && rm $1 
}

for i in $(seq 5 -1 2)
do
    i2=$(($i-1))
        rem_file /data/1.log.$i
        if [ -f /data/1.log.$i2 ];then
            mv /data/1.log.$i2 /data/1.log.$i
        fi
done

rem_file /data/1.log.1
mv /data/1.log /data/1.log.1

# service restart

posted on 2018-10-23 21:37  kennminn  阅读(136)  评论(0编辑  收藏  举报