在Linux中查找和删除早于n天的文件
时间:2020-02-23 14:38:10 来源:igfitidea点击:
在本指南中,很好地了解了如何在Linux中删除早于n天的文件。最常见的用例是删除已超过一定天数的旋转日志,或者删除旧备份以清除空间以用于更新的备份。
因此,让我们考虑一个例子。恶意搜索/var/log下扩展名超过7天的.tar.gz文件,并将其删除。无效的使用find命令搜索文件。
# find /var/log/-name *.gz -mtime +7 -exec rm -rf {} \;
-mtimeoption用于指定文件的最后修改;即n * 24小时前。 +7表示超过7天。
-exec选项用于在find中执行命令。在此执行的命令isrm -f
最后{} ;表示在项目列表中循环。
如果要列出文件而不删除它们,请使用以下命令:
# cd /var/log # find . -type f -mtime +7d -ls
要查找和删除大于指定大小且大于n天的文件,请使用-sizeoption:例如:
# find /var/log/-name *.gz -mtime +7 -size +1G -exec rm -rf {} \;
请注意,可以在删除文件之前将文件列表保存到变量中。
# file_list=`find . -name *.gz -type f -mtime +7` # for i in ${file_list[@]}; do echo "Deleting $i file" rm $i done