タグ

2012年8月8日のブックマーク (1件)

  • Perlでssh tail -fして目的の行が来たら終了する - As a Futurist...

    簡単だろうと思って始めてみたら意外とハマった。。。例えばネットワーク機器の設定確認とかで、ロードバランサ経由でアクセスしてみてちゃんとアクセスが来てるか確認したい時に、人力だったらターミナル開いてアクセスログをtail -fしといてcurlとかで叩いて「きたきた」ってやって終わりでいいと思うんですが、台数がべらぼうに多いときとかムリポ。 そこで、サーバにsshしつつtail -fを発行してアクセスログをフェッチしつつ、grep的なことをして目的のログが来たら終了、みたいな処理を考えてみた。方針はたぶんこの 2 種類。 sshで渡すコマンドでgrepして目的の行が出たらsshが終了するようにしておく 目的の行は perl で探して、見つけたらsshのプロセスにシグナルを送る なんでこんなめんどくさいことが必要かというと、tail -fは明示的に殺すまで基的にはずっと動き続けるので、なんらか

    Perlでssh tail -fして目的の行が来たら終了する - As a Futurist...
    sh2
    sh2 2012/08/08
    sshした先でPerlのFile::Tailを実行するというアイデアで書いてみました https://gist.github.com/3291358