编写 Shell 脚本来尾部和 gzip 日志文件

编写 Shell 脚本来尾部和 gzip 日志文件

我正在尝试制作一个脚本,可以将日志文件从远程服务器跟踪到我的本地目录。尾部-F是我正在使用的,但是在用管道输送之后压缩包,尽管创建了日志文件的本地副本,但没有任何反应。

更新:脚本运行但无法到达 gzip 命令,因为我必须输入 ctrl+c 才能结束拖尾。因此,它甚至没有压缩脚本就结束了脚本。

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意味着是交互式的,除了timeout你应该尝试tail -100(100 或其他)捕捉最后几行。

主要部分是

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

相关内容