1.删除文件命令
find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} ;
实例:find /opt/soft/log/ -mtime +7 -name "*.log" -exec rm -rf {} \;
说明:将/opt/soft/log/目录下所有7天前带".log"的文件删除
2.创建shell
touch /opt/soft/bin/auto-del-7-days-ago-log.sh
(创建一个名为auto-del-7-days-ago-log.sh的可执行文件)
chmod +x auto-del-30-days-ago-log.sh
(为其分配可执行权限)
3.编辑shell脚本(在.sh可执行文件目录下)
vi auto-del-7-days-ago-log.sh (进入编辑脚本)
编辑auto-del-7-days-ago-log.sh文件如下:
#!/bin/sh
find /opt/soft/log/ -mtime +7 -name "*.log" -exec rm -rf {} \;
ok,保存退出(:wq)。
4.计划任务
crontab -e
将auto-del-7-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行
59 23 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1
这里是设置为每天23点59分执行auto-del-7-days-ago-log.sh进行数据处理
完成以上步骤,shell脚本自动删除n天前的日志文件就结束了。
友情提醒:若是重要的日志文件,建议在测试环境下先操作,以确保万无一失。