Linuxのlogrotateを手動実行させる
Pocket

Linuxのlogrotateを手動実行する場合、ただ実行コマンド(“/usr/sbin/logrotate /etc/logrotate.conf”)を実行しただけではログローテーションは行われない。
手動でのローテーションを行う場合は、以下のファイルに記述されている各ログの日付を過去日付にしてあげる必要がある。

Sponsored Links

●Debian/Ubuntuの場合

「/var/lib/logrotate/status」というファイルに各ログで最後にログローテーションした日付が記述されている。

test@ubuntu-server:~$ cat /var/lib/logrotate/status
logrotate state -- version 2
"/var/log/syslog" 2015-7-24-6:25:2
"/var/log/dpkg.log" 2015-7-1-6:25:2
"/var/log/auth.log" 2015-7-19-6:25:3
"/var/log/apt/term.log" 2015-7-1-6:25:2
"/var/log/ppp-connect-errors" 2015-7-24-6:0:0
"/var/log/apt/history.log" 2015-7-1-6:25:2
"/var/log/alternatives.log" 2015-7-1-6:25:2
"/var/log/debug" 2015-7-24-6:0:0
"/var/log/mail.log" 2015-7-24-6:0:0
"/var/log/kern.log" 2015-7-13-6:25:2
"/var/log/aptitude" 2015-7-24-6:0:0
"/var/log/ufw.log" 2015-7-24-6:0:0
"/var/log/daemon.log" 2015-7-24-6:0:0
"/var/log/wtmp" 2015-7-1-6:25:2
"/var/log/mail.warn" 2015-7-24-6:0:0
"/var/log/btmp" 2015-7-1-6:25:2
"/var/log/lpr.log" 2015-7-24-6:0:0
"/var/log/mail.err" 2015-7-24-6:0:0
"/var/log/upstart/*.log" 2015-7-24-6:0:0
"/var/log/user.log" 2015-7-24-6:0:0
"/var/log/mail.info" 2015-7-24-6:0:0
"/var/log/cron.log" 2015-7-24-6:0:0
"/var/log/messages" 2015-7-24-6:0:0

●RHEL系の場合

RHEL系の場合は、「/var/lib/logrotate.status」というファイルに各ログで最後にログローテーションした日付が記述されている。

[root@test-centos7 ~]# cat /var/lib/logrotate.status
logrotate state -- version 2
"/var/log/yum.log" 2015-5-29-3:6:1
"/var/log/httpd/ssl_access_log" 2015-7-12-3:0:0
"/var/log/httpd/*log" 2015-6-14-3:0:0
"/var/log/httpd/error_log" 2015-7-26-3:50:1
"/var/log/httpd/ssl_error_log" 2015-7-26-3:50:1
"/var/log/wtmp" 2014-12-19-6:0:0
"/var/log/chrony/*.log" 2015-6-29-3:0:0
"/var/log/spooler" 2015-7-26-3:50:1
"/var/log/btmp" 2015-7-1-3:21:1
"/var/log/iscsiuio.log" 2015-6-29-3:0:0
"/var/log/maillog" 2015-7-26-3:50:1
"/var/log/httpd/ssl_request_log" 2015-7-12-3:0:0
"/var/log/wpa_supplicant.log" 2014-12-19-6:0:0
"/var/log/secure" 2015-7-26-3:50:1
"/var/log/ppp/connect-errors" 2014-12-19-6:0:0
"/var/log/messages" 2015-7-26-3:50:1
"/var/log/httpd/access_log" 2015-7-26-3:50:1
"/var/log/cron" 2015-7-26-3:50:1

 

後は、ローテーションさせたいログの日付を変更し、以下のコマンドを実行すれば良い。

/usr/sbin/logrotate /etc/logrotate.conf

 

2015/08/02 追記
もしくは、以下のように「-f」オプション付きでコマンドを実行することで強制的にローテーションさせることができるようだ。

/usr/sbin/logrotate -f /etc/logrotate.conf
Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。