我有一个目录,里面装满了来自网络服务的图片,这些图片在放置后只需在我的服务器上存在 5 分钟。我尝试使用,tmpreaper
但无法让它工作。我执行了以下命令:
sudo crontab -e
* * * * * tmpreaper 5m /my_image/dir
我检查了正在cron
运行pgrep cron
,并得到了一个PID
。但是,图像仍然在目录中。手动运行命令完全没问题,但是它无法通过 cron 运行。
答案1
根据我的经验,cron 不喜欢其文件中的原始命令。编写一个简单的 bash 脚本,如下所示:
#!/bin/bash
tmpreaper 5m /my_image/dir
将脚本保存在某个可靠的地方,使其可执行,然后将您的 cron 更改为bash /path/to/script
。
我也遇到过 cron 权限问题。请确保它由您期望的正确用户运行。
答案2
* * * * * find /yourDir/ -type f -mmin +5 -exec rm -f {} +
命令将在每分钟运行一次,并删除目录中超过 5 分钟的文件。资源:https://crontab.guru/every-1-minute