Linux定时删除n天前的数据

Linux定时删除n天前的数据
1.创建删除脚本并授权
touch /home/data/script/shell/auto-del-60-days-ago-log.sh
chmod +x auto-del-60-days-ago-log.sh
2.编写shell脚本(auto-del-60-days-ago-log.sh)
vi auto-del-60-days-ago-log.sh
添加如下内容: -mtime 表示天  -mmin表示分钟
find /home/data/monitorlog/ -mtime +60 -name "*.log" -exec rm -rf {} \;
说明:
将/home/data/monitorlog/目录下所有60天前带”.log”的文件删除。  
如果去掉 -name "*.log" 此参数 表示将目录下所有文件都删除
3.保存并退出(:wq!)
4.配置定时执行删除脚本
vi /etc/crontab
#添加:
10 0 * * * /bin/bash /home/data/script/shell/auto-del-60-days-ago-log.sh >/dev/null 2>&1
5.重启定时任务
#centos7 执行 systemctl restart crond


 

你可能感兴趣的:(linux,服务器,运维)