ログローテーションで「ログファイルのファイル名に日付を付ける」場合、「daily」と「dateext」を利用すると日付形式に変更できます。
daily dateext
例:
daily missingok rotate 30 compress delaycompress notifempty create 0640 www-data adm sharedscripts dateext dateformat _%Y%m%d
上記の設定では「/var/log/example.log」のファイルが「/var/log/example.log_20250704.gz」になります。
【注意】
dateextが有効になると、通常のlog.1,log.2.gzのような連番形式ではなくなります。dateformatは省略可能で、指定しない場合はデフォルトで-%Y%m%dの形式になります。dateextはログファイル名の拡張として日付を付けるだけなので、「元ファイルの名前を日付入りでまったく別の名前に変える」といった用途にはスクリプトが必要です。
末尾以外にファイル名をつける
「access.log」 を 「access_20250704.log」などのように、ファイル名の末尾以外に日付を付ける場合はprerotate の箇所に処理を追加します
/var/log/myapp/access.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
prerotate
mv /var/log/myapp/access.log /var/log/myapp/access_$(date +\%Y\%m\%d).log
touch /var/log/myapp/access.log
chown www-data:adm /var/log/myapp/access.log
chmod 0640 /var/log/myapp/access.log
endscript
}


コメント