我正在尝试制作一个脚本,可以将日志文件从远程服务器跟踪到我的本地目录。尾部-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