有这样一个需求,需要定时删除一天前的音频文件,只保留一天内的音频文件。第一反应想到的就是定时任务,如果有很好的方法,欢迎留言。
不管是黑猫白猫,能抓到老鼠的都是好猫,不管什么方法,能解决问题的方法就是好方法,当然,如果有更好的办法,那肯定优先选择的。
首先,写出删除指定日期文件的脚本或者命令,linux的find命令就可以完成这一需求。然后就是定时执行这条命令,用crontab定时执行任务命令。
命令
find /mnt/d/audiofile/temp -name "*.mp3" -cmin +1440 | xargs rm
其中:
/mnt/d/audiofile/temp 为文件所在目录
-name ".mp3" 指定正则匹配的文件名
-cmin +1440 一天前的文件,也可以-mtime +1
xargs rm 删除find查询出来的文件
定时任务
# 进入定时任务的编辑
crontab -e
每天6点30分执行一次该命令
30 6 * * * find /mnt/d/audiofile/temp -name "*.mp3" -cmin +1440 | xargs rm
关于find命令详解:
https://sundful.iteye.com/blog/1897806
关于crontab定时任务详解:
https://www.cnblogs.com/longjshz/p/5779215.html
欢迎关注公众号:日常bug,每天定时更新至少一篇技术文章。