我有以下情况。人们可以上传图像,然后用这些图像创建一些故事。并不总是将图像用于故事,因此每当他们上传图像时,我都会将该图像放在tmp
目录中(给它命名为mongoID字符串:507f191e810c19729de860ea.jpg
),如果他们想要制作一个有了它的故事,我对图像进行一些操作并将其保存到更合适的目录中。
所以我的tmp
目录变得拥挤未使用的图像。以前我使用的是一个放在cron作业上的php脚本。这个脚本遍历tmp
目录中的所有图像,从mongoID字符串中提取时间戳,如果时间戳超过一段时间(让我们做3天),我就删除了那个图像。这个cron任务每天都在特定的时间运行,我很高兴。
但在读完之后我可以put a command on cron job悲伤降临到我的心里。我每天都在醒来,并认为我的解决方案不太好。所以我试图使用带有find
命令的rm
命令来实现相同的结果,但是(因为你在这里看到我的帖子)没有运气。
有没有办法以rm命令执行我的任务?
P.S。 MongoID string is a 24 character string字母为a-f,0-9
。所以在我的情况下我有像
507f1f77bcf86cd799439011.jpg
507f1f77bcf86cd7a9439051.jpg
507f1f77bcf86cd799433fd1.jpg
答案 0 :(得分:2)
这个怎么样?
find /tmp -mtime +5 -name "*.jpg" -type f
-regextype posix-egrep -regex ".*/[a-zA-Z0-9]{24}.jpg" -exec ls -l {} \;
-mtime +5
表示超过5天的文件。将其更改为您的特定要求。-regextype posix-egrep -regex ".*/[a-zA-Z0-9]{24}.jpg"
来自https://superuser.com/questions/411133/how-to-use-command-find-to-list-files-with-specific-filename-length。-exec ls -l {} \;
显示该文件的信息。一旦确定无效,请将其更改为rm {} \;