ubuntuでufwのloggingのログローテーションはどうやる?

UFWのログをローテーション
UbuntuでUFW(Uncomplicated Firewall)のログローテーションを設定するには、logrotate
を使用します。以下に手順を示します。
1. UFWのログファイルの確認
UFWのログは通常、/var/log/ufw.log
に保存されます。まず、このファイルが存在するか確認します。
ls /var/log/ufw.log
2. logrotateの設定ファイルを作成
/etc/logrotate.d/
ディレクトリにUFW用のログローテーション設定ファイルを作成します。
sudo nano /etc/logrotate.d/ufw
3. 設定ファイルの内容
以下の内容をファイルに記述します。
/var/log/ufw.log {
weekly
rotate 4
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
weekly
: ログを週次でローテーションします。rotate 4
: 4世代分のログを保持します。missingok
: ログファイルが存在しなくてもエラーを出しません。notifempty
: ログファイルが空の場合、ローテーションしません。compress
: ローテーションされたログを圧縮します。delaycompress
: 直近のログファイルは圧縮せず、次回のローテーションで圧縮します。sharedscripts
: 複数のログファイルがある場合、スクリプトを一度だけ実行します。postrotate
: ローテーション後に実行するスクリプトを指定します。
4. logrotateの設定をテスト
設定が正しいかテストするために、以下のコマンドを実行します。
sudo logrotate -d /etc/logrotate.d/ufw
-d
オプションはドライラン(テストモード)で、実際にはローテーションを行いません。
5. logrotateを手動で実行
設定が正しいことを確認したら、手動でローテーションを実行します。
sudo logrotate -f /etc/logrotate.d/ufw
-f
オプションは強制的にローテーションを実行します。
6. 自動実行の確認
logrotate
は通常、毎日自動的に実行されます。設定が正しく適用されているか確認するために、以下のコマンドでログローテーションの状態を確認できます。
cat /var/lib/logrotate/status
これで、UFWのログローテーションが設定され、定期的にログファイルが管理されるようになります。