ディストロ別 logrotateで使えないディレクティブまとめ


どのLinuxディストロにも必ず入っているlogrotateですが、バージョンの違いにより別ディストロでのノウハウが使えなかったりすることがままあります。
そこでディストロ別に使用できないディレクティブをまとめてみました。

まえがき

  • 確認は2020/5/4時点のものです。
  • 以下で述べるlogrotate最新版は 3.16.0 を指します。
  • 各ディストロのlogrotateパッケージは2020/5/4時点の最新版です。
  • 不具合修正、挙動の違いは省略しています。

比較表

RHEL/CentOS 6.10
3.7.8-28.el6

Amazon Linux 2018.03
3.7.8-26.14.amzn1
RHEL/CentOS 7.8
3.8.6-19.el7

Amazon Linux 2 20200406
3.8.6-15.amzn2
RHEL/CentOS 8.1
3.14.0-3.el8
Ubuntu 16.04.6 LTS
3.8.7-2ubuntu2.16.04.2
Debian 9.12 (Stretch)
3.11.0-0.1

Ubuntu 18.04.4 LTS
3.11.0-0.1ubuntu1
Debian 10.3 (Buster)
3.14.0-4

Ubuntu 20.04 LTS
3.14.0-4ubuntu3
実装されたlogrotateバージョン
ログ個別の設定内で include × 3.7.9
dateyesterday × 3.8.0
su × 3.8.0
maxsize 1 3.8.1
preremove × 3.8.4
--version コマンドラインオプション × 3.8.4
hourly × 3.8.5
createolddir / nocreateolddir × 1 × 3.8.9
renamecopy × ×2 × 3.8.9
dateformat における %H × 1 × 3.9.0
-l コマンドラインオプション × 1 × 3.9.0
dateext における %M, %S, %V × × × 3.9.2
-l syslog コマンドラインオプション × × × 3.9.2
taboopat × × × 3.11.0
addextension × × × 3.11.0
minage × × × 3.11.0
datehourago × × × × 3.14.0
rotate -1 × × × × × × 3.15.0

まとめ

  • RHEL/CentOS 6・7は古めですが、バックポートで使えるようになっている機能があります。
  • Amazon LinuxとUbuntuは元となったディストロ(RHEL・Debian)とパッケージ内容がほぼ同一だったため、上記比較表ではまとめてあります。
  • 3.15.0で追加された rotate -1 (ローテートしたログを削除しない)が使えるディストロは現時点でまだ存在しないようです。

  1. バックポートにて対応 

  2. man logrotate に記述があるが使用不可