2019年3月12日 星期二

【LINUX】利用logrotate.d進行LOG的輪替

logrotate.d的位置通常都在/etc下

在logrotate.d下也有其他的檔案,但我現在要將新增的審計功能加入!

要將審計功能編入輪替切換,我取名為server_audit

加入設定

vi /etc/logrotate.d/server_audit


/data/audit_log/server_audit.log
{
daily
missingok
notifempty
create 0660 mysql mysql
dateext
compress
delaycompress
copytruncate
    postrotate
    mv /data/audit_log/server_audit.log*.gz /data/audit_log_history
    endscript
rotate 6
}
daily表示每天一份】
missingok【如果 log 不存在也沒關係(有些服務當日沒有 Log 就不會產生)】
notifempty【允許空白的 Log 檔】
create 0660 mysql mysql【創建模式所有者及群組權限】
dateext【表示歸檔加上日期字串,被輪替的檔案加上日期作為檔名】
compress【把歸檔的 Log 進行壓縮 (預設用 gz)】
delaycompress【1前一天的檔案才進行壓縮】
nodelaycompress【2覆蓋delaycompress 選項,轉儲同時壓縮(2擇1)
copytruncate【採用複製一份再清空原本的 Log File,滿足某些服務無法直接更名 Log File 來實現 Rotate 功能】
postrotate【在做完 logrotate 之後啟動的指令,例如重新啟動 (kill -HUP) 某個服務!】
mv /data/audit_log/server_audit.log*.gz /data/audit_log_history【移動檔案】
endscript【結束SCRIPT】
rotate 6【LOG僅保留6個】


然後再crontab -e加入排程
0 0 * * * /usr/sbin/logrotate -v -f /etc/logrotate.d/server_audit >/dev/null 2>&1

沒有留言:

張貼留言

【MYSQL】MYSQL的SYS表說明(版本8.0)

mysql> use sys Reading table information for completion of table and column names You can turn off this feature to get a quicker s...