前の質問に似ています。テキストファイルを開き、自動的に更新するようにしてください。;同じ作業をフォルダに対してのみ行う方法はありますか?
ログフォルダがありますが、tail -f
フォルダと一緒に使用できますか?
つまり
$ tail -f /tmp/logs/
これはうまくいかないことを知っていますが、代わりにありますか?
RHEL 5.10を使用しています。
答え1
はい、別のオプションがあります。調査した結果、次のものが使用できることがわかりました。
$ watch "ls -l"
目的のフォルダに配置する必要がありますwatch
。
または、tail -10
最後に次のものを使用できます。
$ watch "ls -l | tail -10"
このコマンドはls
2秒ごとに入力され、出力を最後の10個のファイルにフィルタリングします。
参照リンクを読むと、いくつかの便利なヒントがあります。上記のコマンドが覚えていない場合は、.bashrcファイルに次のものを追加できます。
alias taildir='watch "ls -l | tail -10"'
taildir
したがって、コマンド全体を書き換える必要なしに入力するだけです。
引用:ディレクトリを追跡する方法。
答え2
まさにあなたが欲しいものが何であるかよくわかりません。たぶんinotifywait
fromパッケージ(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
これらのログファイルに対してマルチファイルトレースを実行します。ただし、すべてのファイルをリアルタイムで監視する必要がある場合は、このオプションを削除できます。
引用する