logrotate の script でのファイル名取得に関する仕様 [Linux]
CentOS 6.0 のマニュアルには、logrotate の script 内で $1 等によりファイル名の取得ができる旨の記述があるが、Debian GNU/Linux 6.0 のマニュアルには、この部分の記述がない。
しかし、Debian でもこの機能は実装されている。厄介なのは、仕様が微妙に異なる事である。
ディストリビューションの違いによるものか、logrotate のバージョンの違いによるものかは判断できないが、少なくとも、下記のような仕様の違いが存在する。
(1) postrotate の設定内で rotate 後のファイル名が取得される場合
(2) postrotate の設定内で rotate 前のファイル名が取得される場合
しかし、Debian でもこの機能は実装されている。厄介なのは、仕様が微妙に異なる事である。
ディストリビューションの違いによるものか、logrotate のバージョンの違いによるものかは判断できないが、少なくとも、下記のような仕様の違いが存在する。
(1) postrotate の設定内で rotate 後のファイル名が取得される場合
ローテート後のファイル名(圧縮前のファイル名) が取得される。
logrotate 3.7.8-6 (on Debian GNU/Linux 6.0) が該当する。
(例) .../demo.log.1 が取得される。
(2) postrotate の設定内で rotate 前のファイル名が取得される場合
ローテート前のファイル名が取得される。
logrotate-3.7.8-12.el6_0.1.i68 (on CentOS 6.0) が該当する。
(例) .../demo.log が取得される。
コメント 0