サーバーログを監視する
本番、検証、開発、どれでもですが
APサーバーのserver.log的なファイルに、ログがどんどん書かれるわけで
モジュールが正常に動いているかなど、外から見えないシステムの動きを監視するために
リリースするたびにログを監視する作業がありますよね
その際、まぁTeraTermなどでlinuxサーバーに接続して、ログファイルを見るわけですが
どのコマンド使う?って話です
王道のtail
まぁこれでしょ
tail -f ファイルパス
たとえば
tail -f /asd/asdasdasd/asdasdasd/server.log
みたいな
これで上書きされるファイルをリアルタイムで監視できます
新時代のless
いまどきtailは情弱
less +F ファイルパス
たとえば
less +F /sdd/sdsdsd/sdsdsd/server.log
これでtail -f
と同じ機能
Ctrl + C
で更新しなくなる
なんなら
less /sdd/sdsdsd/sdsdsd/server.log
を実行したあとにshift + f
(大文字のF)打てばいい
んで、Grep的なことができる
更新しないモードの時に&
を入力すると、入力欄が出てくる
そこに「完全一致」ワードまたは「qqq | eee」と入力すればOR検索
大文字小文字を区別するので正確にタイプしよう
また、&
を入力後に!
を入力すれば、not-matchモード(不一致検索)になる
わざわざログファイルをローカルにダウンロードして、サクラエディタでGrepなんてしなくても、その場で検索できるのだ
しかも自動更新しないモード中なら、Bキーで上ページ、Spaceキーで下ページ、Gキーで一番上まで、Shift + Gキーで一番下まで
一気に飛べる
lessはtailの上位互換といっても過言ではないとおもう
Windowsなら
Power-Shellを起動しよう
winキー + XキーからのAキーでできるはず
んで
Get-Content -wait -tail 10 -encod UTF8 -path パス
ここの10の部分は最初に取得する行数です、tail -f
は指定しないと初期で10なので10って書いてみました