1.需求
对应用日志进行定期清理,删除一年前的日志目录及文件。目录结构如下:
2.编写删除日志文件的shell脚本autoclearlogdir.sh
#!/bin/bash
#日志目录
RemoveDir=/home/redis/software/test
#定义删除的日期yyyy-MM-dd
dt=`date +%Y-%m-%d -d "1 year ago"`
for subdir in `ls $RemoveDir`;
do
if [ "${subdir}" \< "${dt}" ];
then
rm -rf $RemoveDir/$subdir >/dev/null
echo "The directory $RemoveDir/$subdir has been removed."
fi
done
RemoveDir日志文件的根目录,需要根据实际情况配置。
dt定义删除目录的格式,比该日期小的目录及其文件将被删除,其中"1 year ago"也可以"x day ago"等代替。
3.给autoclearlogdir.sh添加可执行权限
[redis@localhost test]$ chmod +x autoclearlogdir.sh
4.添加系统定时任务
编辑任务列表:
[redis@localhost test]$ corntab -e
在编辑内容中添加任务,每天0时整执行:
* 0 * * * /home/redis/software/test/autoclearlogdir.sh
:wq 保存并退出编辑。
【END】