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のログローテーションが設定され、定期的にログファイルが管理されるようになります。