我有一个父文件夹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
是一种非常糟糕的方法...管理这些文件背后的真正需求是什么是您必须考虑的问题,以避免执行类似的垃圾程序