Cron

cron 查找多種文件類型並自動刪除它們

  • March 31, 2021

我正在嘗試組合一個命令來查找多種文件類型並自動刪除它們。我想在我的伺服器上每 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
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)

如果要進行區分大小寫的搜尋,可以使用**-iname而不是-name**

引用自:https://serverfault.com/questions/1058994