tailおよびgzipログファイルにシェルスクリプトを作成する

tailおよびgzipログファイルにシェルスクリプトを作成する

リモートサーバーからローカルディレクトリまでログファイルを追跡できるスクリプトを作成しようとしています。テール-F使っているのですが、パイピング後アーカイブ、ログファイルのローカルコピーが作成されても何も起こりません。

修正する:スクリプトは実行されますが、テーリングを終了するにはctrl + cを入力する必要があるため、gzipコマンドに到達できません。したがって、圧縮もせずにスクリプトを終了します。

to_Tomcat(){
        # tail log file -> zips it using gzip 
        tail -F /sampleRemoteDirectory/logs/tomcat/sample.log > "$TomcatLogFileName"-Tomcat.log | gzip "$TomcatLogFileName"-Tomcat.log
        echo ""
        echo "...tailing the log file and saving it as $TomcatLogFileName-JBoss.log.gz"
        echo ""
    }

to_Tomcat TomcatLogFileName
                sleep 10            
ret=$?

# last note before the user has to exit the shell script

echo ""
echo "Saved file: $TomcatLogFileName-Tomcat.log.gz"

ベストアンサー1

tail -f最後の数行をキャプチャするには(100または何でも)timeout試す必要があることを除いて、インタラクティブです。tail -100

主な部分は

tail -100 /whatever/sample.log | gzip > /whatever/sample.log.gz

おすすめ記事