尋找腳本來搜尋 Linux 伺服器上超過 x 天且具有特定命名方案的文件

尋找腳本來搜尋 Linux 伺服器上超過 x 天且具有特定命名方案的文件

我的公司有一套Linux伺服器,用戶在上面儲存檔案。這些文件遵循常見的命名方案 #####、###、###,其中的數字與它們特有的欄位相關。他們本應在 30 天後刪除這些文件,但這種情況並沒有發生,而且由於用戶社群不斷增長,一些伺服器的磁碟空間不足。

有人知道我可以編寫一個進程腳本,在 Linux 伺服器的所有分割區中搜尋任何具有上述命名方案(超過 30 天)的檔案並將其移至新資料夾嗎?

這將使清理變得更加容易,因為一些用戶將文件存儲了很多級別,並且僅僅查找它們就開始佔用大量時間,讓人們無法決定是否可以刪除它。

任何幫助將不勝感激!

答案1

使用尋找命令來取得你想要的文件。您可以使用該-mtime選項來設定檔案的期限。您可以使用正規表示式\d{5},\d{3},\d{3}$來匹配檔案名稱。然後將每個文件移動到您想要的位置。

像這樣:

find / -mtime +30 -regex '\d{5},\d{3},\d{3}$' -exec mv {} /path/to/destination/folder \;
  • 上面的內容在根上釋放了這個,這是非常可怕的。考慮將其僅包含在您需要的目錄中。
  • 請注意,該模式並不是非常獨特,因此請再次謹慎使用。
  • 微調你的正規表示式這裡

相關內容