「Linux/定期ログ圧縮」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==設定ファイルのディレクトリ== ls /etc/logrotate.d/ ==ローテート作成== vi /etc/logrotate.d/sample /var/www/sample/logs/access_log /var/www/sample/l...」) |
|||
行43: | 行43: | ||
sh /var/www/sample/bin/test.sh | sh /var/www/sample/bin/test.sh | ||
endscript | endscript | ||
+ | } | ||
+ | |||
+ | ==例:apacheのlogrotate設定はこんな感じ== | ||
+ | $ vi /etc/logrotate.d/httpd | ||
+ | /var/log/httpd/*log { | ||
+ | daily | ||
+ | rotate 30 | ||
+ | missingok | ||
+ | notifempty | ||
+ | sharedscripts | ||
+ | delaycompress | ||
+ | postrotate | ||
+ | /sbin/service httpd reload > /dev/null 2>/dev/null || true | ||
+ | endscript | ||
} | } |
2015年5月27日 (水) 05:02時点における最新版
目次
設定ファイルのディレクトリ
ls /etc/logrotate.d/
ローテート作成
vi /etc/logrotate.d/sample
/var/www/sample/logs/access_log /var/www/sample/logs/error_log { daily rotate 4 missingok }
- この例だと、日ごとにバックアップし、4世代保持する
- missingokはログがないときでもエラーとしない
ローテートされてるか確認
/usr/sbin/logrotate -d /etc/logrotate.d/sample
前回ローテート履歴
vi /var/lib/logrotate.status
正規表現でパス記述
/var/www/sample/logs/*_log {
ログバックアップ後に圧縮コマンドをうつ
vi /etc/logrotate.d/sample /var/www/sample/logs/access_log /var/www/sample/logs/error_log { daily rotate 4 missingok sharedscripts postrotate ls *.log-* | grep -v gz | xargs gzip endscript }
ログバックアップ後にコマンドをうつ
vi /etc/logrotate.d/sample /var/www/sample/logs/access_log /var/www/sample/logs/error_log { daily rotate 4 missingok sharedscripts postrotate sh /var/www/sample/bin/test.sh endscript }
例:apacheのlogrotate設定はこんな感じ
$ vi /etc/logrotate.d/httpd /var/log/httpd/*log { daily rotate 30 missingok notifempty sharedscripts delaycompress postrotate /sbin/service httpd reload > /dev/null 2>/dev/null || true endscript }