目标:定时删除一分钟前创建的文件夹
1,新建shell脚本文件,并授权:
touch /opt/cron/auto-del-image-1days-ago.sh
chmod +x auto-del-image-1days-ago.sh
2,编写脚本内容:vi auto-del-image-1days-ago.sh
find /opt/image/* -mmin +1 -exec rm -rf {} \;
上面的含义:删除/opt/image文件夹下一分钟前创建的的文件,image文件夹不会删除(去掉*image会删除)
mtime :天数,mmin:分钟
3,输入:crontab -e
编写定时任务,加入以下内容,保存即可
*/1 * * * * /opt/cron/auto-del-image-1days-ago.sh
*/1 * * *释义:
第一个*号表示时间中的 分钟 取值范围:0-59
第二个*号表示时间中的 小时 取值范围:0-23
第三个*号表示一个月中的第几天,取值范围:1-31
第四个*号表示一年中的第几个月,取值范围:1-12
第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天
ctime 表示创建时间,1 表示一天前,其实Linux中不存在文件创建时间,只有访问时间(atime)、修改时间(mtime)、状态改动时间(ctime) 。
4,crontab命令
查看crontab服务状态:service crond status
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
上面也可以简写成
每分钟执行一次:*/1 * * * * find /opt/image/* -mmin +1 -exec rm -rf {} \;
每天零点执行一次:0 0 * * * find /opt/image/* -mtime +1 -exec rm -rf {} \;