Cron 查找多种文件类型并自动删除它们

Cron 查找多种文件类型并自动删除它们

我正在尝试编写一个命令,该命令将查找多种文件类型并自动删除它们。我想在我的服务器上每 10 分钟在 cron 中运行一次此命令。

我想查找以下类型的文件:.swp、.save、.swo、.maintenance 和 .bak

这是我的命令:

 find . -type f -name '*.swp' -o -type f -name '*.save' -o -type f -name '*.bak' -o -type f -name '*.swo' -o -type f -name '*.maintenance'

我应该向此命令添加什么内容才能自动删除这些文件?

我尝试在最后添加 -delete,但这并不能消除它们:

 find . -type f -name '*.swp' -o -type f -name '*.save' -o -type f -name '*.bak' -o -type f -name '*.swo' -o -type f -name '*.maintenance' -delete

答案1

 find . -type f -name '*.swp' -o -type f -name '*.save' -o -type f -name '*.bak' -o -type f -name '*.swo' -o -type f -name '*.maintenance' -delete

该命令很好,但您必须指定路径。使用 . 表示在当前目录中搜索。根据您为其运行 cronjob 的用户,该目录可能会有所不同。

因此我会使用类似的东西:

find /full-path -type f \( -name \*.bak -o -name \*.swp -o -name \*.save -o -name \*.maintenance \) -print -delete

-f search only file types (not folders)
-o logical OR operator
-name files containing that in their name (in this case the extension)

如果你想进行区分大小写的搜索,你可以使用-我的名字代替-姓名

相关内容