ディレクトリを開き、「tail -f」を使用して自分で更新するようにします。

ディレクトリを開き、「tail -f」を使用して自分で更新するようにします。

前の質問に似ています。テキストファイルを開き、自動的に更新するようにしてください。;同じ作業をフォルダに対してのみ行う方法はありますか?

ログフォルダがありますが、tail -fフォルダと一緒に使用できますか?

つまり

$ tail -f /tmp/logs/

これはうまくいかないことを知っていますが、代わりにありますか?

RHEL 5.10を使用しています。

答え1

はい、別のオプションがあります。調査した結果、次のものが使用できることがわかりました。

$ watch "ls -l"

目的のフォルダに配置する必要がありますwatch

または、tail -10最後に次のものを使用できます。

$ watch "ls -l | tail -10"

このコマンドはls2秒ごとに入力され、出力を最後の10個のファイルにフィルタリングします。

参照リンクを読むと、いくつかの便利なヒントがあります。上記のコマンドが覚えていない場合は、.bashrcファイルに次のものを追加できます。

alias taildir='watch "ls -l | tail -10"'

taildirしたがって、コマンド全体を書き換える必要なしに入力するだけです。

引用:ディレクトリを追跡する方法

答え2

まさにあなたが欲しいものが何であるかよくわかりません。たぶんinotifywaitfromパッケージ(Ubuntuの場合)が必要かもしれませんinotify-tools。残念ながら、これはLinux専用のソリューションです。たとえば、

$ inotifywait -m -e create -e modify -r /var/log
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/var/log/ CREATE test-for-inotify1.txt
/var/log/upstart/ CREATE test-for-inotify2.txt
/var/log/ MODIFY test-for-inotify1.txt
/var/log/ MODIFY auth.log
/var/log/ MODIFY syslog
/var/log/ MODIFY auth.log

man 1 inotifywait他の視聴活動やオプションについては、リソースをご覧ください。


次に追加:

または、特定のファイルのみを監視する必要がある場合は、複数のtail -fファイル名を使用できます。

$ tail -f 1.txt 2.txt 3.txt
==> 1.txt <==

==> 2.txt <==

==> 3.txt <==

==> 1.txt <==
new string in 1.txt

==> 3.txt <==
add string to 3.txt

==> 2.txt <==
And to 2.txt
^C

答え3

このコマンドにorが必要ない場合はwatchどうなりますかinotify

ls -drt /var/log/* | tail -n5 | xargs tail -F

tail -n5最後に更新された5つ(-n5)のログを見つけて、/var/logこれらのログファイルに対してマルチファイルトレースを実行します。ただし、すべてのファイルをリアルタイムで監視する必要がある場合は、このオプションを削除できます。

引用する

最近更新されたログファイルをフォローする

関連情報