我有一個cronjob,每天凌晨3.30創建數據庫備份。限制特定文件夾中的文件數量
文件名的命名是live_YYYY_MM_DD.sql.gz,其中YYYY,MM和DD是進行備份的日期。
通常情況下,我會進入並刪除較舊的備份,但我想將備份數量限制爲最近3次備份。有什麼辦法通過某種過程或腳本來做到這一點?
感謝
編輯:
我編輯logrotate.conf按http://www.thegeekstuff.com/2010/07/logrotate-examples/
我有一個cronjob,每天凌晨3.30創建數據庫備份。限制特定文件夾中的文件數量
文件名的命名是live_YYYY_MM_DD.sql.gz,其中YYYY,MM和DD是進行備份的日期。
通常情況下,我會進入並刪除較舊的備份,但我想將備份數量限制爲最近3次備份。有什麼辦法通過某種過程或腳本來做到這一點?
感謝
編輯:
我編輯logrotate.conf按http://www.thegeekstuff.com/2010/07/logrotate-examples/
ls -t live_*.sql.gz|awk 'NR>3'|xargs echo
如果回聲正確的文件,使用rm
代替echo
。將它放在備份腳本中的適當位置,並且不需要安裝logrotate。
一個簡單的shell腳本可以完成這項工作,但是您最好學習使用它的標準工具:logrotate。當您對舊備份文件管理的要求發生變化時,而不是修改自家創建的腳本,這只是改變logrotate配置條目的問題。
Google for logrotate – holygeek
謝謝,這就是我一直在尋找的東西。 – ssj1980
@holygeek你應該添加作爲答案 – Kevin