Skip to content

Latest commit

 

History

History
23 lines (21 loc) · 521 Bytes

37.md

File metadata and controls

23 lines (21 loc) · 521 Bytes

题目要求

系统logrotate工具,可以完成日志切割、归档。写一个shell脚本实现类似的归档功能。   举例: 假如服务的输出日志是1.log,要求每天归档一个,1.log第二天就变成1.log.1,第三天1.log.2, 第四天 1.log.3  一直到1.log.5。

参考答案

#!/bin/bash
cd /data/logs
log=1.log
mv_log()
{
    [ -f $1 ] && mv $1 $2
}
[ -f 1.log.5 ] && rm -f 1.log.5
for i in `seq 4 -1 1`
do 
    j=$[$i+1]
    mv_log $log.$i $log.$j
done
mv 1.log 1.log.1