logrotateをユーザー権限で実行する
logrotateは、ローテーションの設定をするconfファイルと、ローテーションの状態を保存するstatusファイルが必要になる。
標準ではroot権限で実行されているので、ユーザー権限でstatusファイルへのアクセス権限がなく、別途用意する必要がある。
/path/to/access_logを1日ごとにローテーション、履歴は7つまで保存する。
confファイルは/home/hoge/etc/logrotate.conf
/path/to/access_log {
daily
missingok
rotate 7
}
statusファイルは/home/hoge/lib/logrotate.status
テスト
$ /usr/sbin/logrotate -d -s /home/hoge/lib/logrotate.status /home/hoge/etc/logrotate.conf
実行
$ /usr/sbin/logrotate -s /home/hoge/lib/logrotate.status /home/hoge/etc/logrotate.conf
cronへの追加
$ crontab -e 0 4 * * * /usr/sbin/logrotate -s /home/hoge/lib/logrotate.status /home/hoge/etc/logrotate.conf
via:logrotate
カテゴリー: linux