サイトアイコン ex1-lab

logrotate で、ファイルを日付形式に変更する

ubuntu_logo

ubuntu_logo

ログローテーションで「ログファイルのファイル名に日付を付ける」場合、「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」になります。

【注意】

末尾以外にファイル名をつける

「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
}
モバイルバージョンを終了