tail -f ファイル名 でログなどを監視していると、ログのファイルサイズが規定のサイズになり、
自動的に別名にされ(ローテイト)され、tail -f では見れなくなってしまいます。
この代わりに-Fオプションを使うとこにより、ローテイトされても指定したファイルを関しすることができます。
以下に実際に動作確認を行った例を記します。
以下に tail -F を試した実行例を記します。
tail -F /tmp/test.log以下、実行時の出力です。
$ tail -F /tmp/test.log tail: `/tmp/test.log' を 読み込み用に開くことが出来ません: そのようなファイルやディレクトリはありません警告メッセージが出力されますが、tailコマンドは実行されています。
$ tail -f /tmp/test.log tail: `/tmp/test.log' を 読み込み用に開くことが出来ません: そのようなファイルやディレクトリはありません tail: ファイルが全く残っていません $
$ date > /tmp/test.log $ echo HELLO >> /tmp/test.log
tail: `/tmp/test.log' が現れました。新しいファイルの終端を追跡します 2016年 12月 8日 木曜日 19:02:42 JST HELLO
$ rm /tmp/test.log
tail: `/tmp/test.log' はアクセス不能になりました: そのようなファイルやディレクトリはありません
$ echo SAKURA > /tmp/test.log
SAKURA
尚、停止したい場合は、Ctrl+Cを押してください。
以上のようにwebサーバのログやDBのログなどを関ししているとき、自動的にローテイトされてしまうので、
tailの-Fオプションを使用することにより、ファイルが削除されたり、リネームされたりしても、
常に指定したファイルを監視することができます。