如何自动删除超过 20 天的文件夹及其内容?

如何自动删除超过 20 天的文件夹及其内容?

我有一个父文件夹raw_response_csvfiles,其中包含多个名为 的文件夹a,b,c...z

a,b,c...z文件夹包含很多csv文件。

如何自动删除超过 30 天的文件夹a,b,c..z及其中的文件?csv

我正在寻找一个可以作为cron工作的 bash 脚本。

我想出了这个,但它只删除文件csv而不是文件夹a,b,c....z

*/5 * * * *  /usr/bin/find "raw_response_csvfiles" -name \*.csv -mtime +20 -delete

答案1

*/5 * * * *  /usr/bin/find /somepath/raw_response_csvfiles/ -type f -name "*.csv" -mtime +20 -exec /usr/bin/rm -f {} \; 

只会在文件的 cron 环境中工作

如果你还想销毁目录 a、b、c..z,你可以为它们构建一个专用的 cron 行,并rm -rf {}在 exec 部分执行 a 。

或者如果你想在射击时摧毁所有它们:

*/5 * * * *  /usr/bin/find /somepath/raw_response_csvfiles/ -name "[a-z]" -type d -mtime +20 -exec /usr/bin/rm -rf {} \;

用于查找文件或目录的其他一点*/5是一种非常糟糕的方法...管理这些文件背后的真正需求是什么是您必须考虑的问题,以避免执行类似的垃圾程序

相关内容