どの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
(ローテートしたログを削除しない)が使えるディストロは現時点でまだ存在しないようです。