Aix
如何遞歸刪除舊文件並修剪產生的空目錄?
我們使用 AIX 伺服器在嵌套目錄結構中存放成千上萬個小文件。我正在嘗試編寫一個腳本,該腳本將遞歸刪除舊文件,然後刪除包含目錄(如果該目錄是目錄中的最後一個文件)。
出於範例的目的,假設任何超過 60 天的文件都是“舊文件”。
這聽起來簡單易行,但我環顧了一段時間,找不到解決方案。是否有一些組合
find
和它的標誌,也許用rmdir
它來完成上述工作?
你說過你在 AIX 上。如果我沒記錯的話,我認為基本的 shell 命令可以解決問題。
find /path/to/files* -mtime +60 -exec rm {} \; find /path/to/files -type d -exec rmdir 2>/dev/null {} \;
如果您通過修改時間超過 60 天來定義“早於”,則以下命令將刪除您的舊文件:
find /your/dir -mtime +60 -exec rm -f {} \;
要修剪空目錄,您可以使用以下命令:
find /your/dir -type d -exec rmdir {} \;
它並不完全找到空目錄,但由於 rmdir 不會刪除包含文件的目錄,它只會刪除空目錄。