需求如下:
系统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