我有這個bash腳本作爲每小時運行一個crontab。我想在文件夾中保留最新的1,000張圖像,刪除最舊的文件。我不想通過mtime進行刪除,因爲如果沒有新文件上傳,我想保留它們,如果圖像是1天或50天的舊圖像,我只想在圖像1,001上傳時更新(最新)image_1 (最舊)將被刪除,循環瀏覽文件夾以保持靜態數量的1,000張圖像。保持最新x文件數量刪除休息打擊
這是有效的,但是在任何時候,執行時可能會有1,200個。每分鐘運行一次crontab似乎都是過分的。我可以做到這一點,一旦文件夾命中1,001圖像它自動執行?基本上我想讓文件夾自我掃描並保留最新的1,000張圖像,刪除最舊的圖像。
#!/bin/sh
cd /folder/to/execute; ls -t | sed -e '1,1000d' | xargs -d '\n' rm
您爲了添加新文件而遵循的方式是什麼? –
這是從用戶上傳的圖像。這是一個聊天,當他們上傳時,它會被上傳爲username_timestamp(.gif/jpg/png),這個laravel php框架正在通過聊天進行實際的圖片上傳。所以它會是隨機的,一分鐘50張圖像,或者每天50張圖像。 編輯: 此腳本通過時間戳省略最新的1,000個文件,然後只刪除文件夾中剩下的任何內容。 –
如何編寫某種webhook或本地腳本來檢查上載圖像後的圖像總數?那麼當它命中1000時會觸發shell命令?這是否也是一種矯枉過正? –