Linux
旋轉舊文件
我有一個 cron 每小時備份 3 個文件,它們是 SQL 備份 - 格式為
name-name-bak-2015-12-1919:30:01.sql
我需要一種方法來輪換和刪除舊的,每 7 天說一次?
想到使用log rotate,求指教
我正在使用 Debian 8
謝謝
克里斯
要添加 logrotate 腳本,您可以創建一個文件,並將其添加到 /etc/logrotate.d/
這是文件腳本內容:
/yourfolder/name-name-bak-*.sql { weekly missingok rotate 14 compress delaycompress notifempty create 640 root root }
在這種情況下:
weekly
它將每週執行一次missingok
如果日誌文件失去,請繼續下一個而不發出錯誤消息rotate 14
日誌文件在被刪除或郵寄到郵件指令中指定的地址之前被輪換 14 次。如果 count 為 0,則刪除舊版本而不是輪換。compress
舊版本的日誌文件預設使用 gzip 壓縮。delaycompress
將前一個日誌文件的壓縮推遲到下一個循環週期。這僅在與 compress 結合使用時才有效。當某些程序無法被告知關閉其日誌文件並因此可能會在一段時間內繼續寫入先前的日誌文件時,可以使用它。notifempty
如果日誌為空,請勿輪換日誌create 640 root root
設置旋轉文件的使用者組和權限有關手冊頁的更多資訊: http ://www.linuxcommand.org/man_pages/logrotate8.html
要手動啟動(或測試)您的腳本,您可以使用以下命令:
logrotate --force /etc/logrotate.d/yourfilename