用Cron作业按大小删除文件夹内的文件

问题描述:

我正试图删除特定大小的特定目录中的所有文件,本例中为39位。我知道下面的代码会删除所有0位的文件。用Cron作业按大小删除文件夹内的文件

find /home/.../...* -size 0 -type f -exec rm -f '{}' \; 

那么,我需要做些什么才能使它适用于39位文件?下面的cron不起作用。

find /home/.../...* -size 39 -type f -exec rm -f '{}' \; 

是否有任何理由使用rm而不是find自己的delete primary?

find /home/.../...* -size 39c -type f -delete 

为什么它不虽然它的工作的大小主要采取的关键是参数为数字的512K块和舍入文件大小,以满足这一点,所以39实际上意味着14337之间的文件大小19,968字节。要指定大小以字节匹配,您需要添加一个后缀c(用于字符)。

如果您必须使用rm,然后用+而不是\;结束命令会更有效,因为它将批量匹配文件名(如使用xargs)以减少调用rm所需的次数。