【shell一天一练】日志归档脚本

65 阅读1分钟

今日小练题目📢

写一个日志归档脚本,类似于系统的logrotate程序做日志归档。 假如服务的输出日志是1.log,要求每天归档一个,1.log第二天就变成1.log.1, 第三天1.log.2, 第四天 1.log.3 一直到1.log.5

优秀作业🤌🏻

#!/bin/bash
#author: xYLiuuuuuu
#data: 2024-12-10

cd ./data

if [ -f 1.log.5 ]
then
        rm -f 1.log.5
fi


for i in `seq 5 -1 2`
do
        if [ -f 1.log.$[i-1] ]
        then
                mv 1.log.$[i-1] 1.log.$i
        fi
done

mv 1.log 1.log.1
touch 1.log

敲黑板📝

  • for + seq 用法
  • 先要考虑特殊情况,日志是否存在?第一个日志如何处理?
  • 倒序处理这些日志文件!