我是新的perl,我有一个问题ie'如何使用perl脚本将个别日志从linux服务器读入另一个日志文件',我需要捕捉不同的路径和输出在另一location.These日志这些日志文件,并存储到文件的结果,个人日志在Linux服务器生成..如何使用Perl脚本将个别日志从linux服务器读入另一个日志文件
在此先感谢...
我是新的perl,我有一个问题ie'如何使用perl脚本将个别日志从linux服务器读入另一个日志文件',我需要捕捉不同的路径和输出在另一location.These日志这些日志文件,并存储到文件的结果,个人日志在Linux服务器生成..如何使用Perl脚本将个别日志从linux服务器读入另一个日志文件
在此先感谢...
您可以轻松地将它们全部集中在一起,如果这就是你想要的:
cat log1 log2 log3 > result
更新:
如果你想从不同的输出文件的所有日志最近的线,使用尾巴:
tail -50 /opt/psauto1/tester.log > /some/other/file
tail -50 /opt/psauto1/testdata.log > /some/other/file2
tail -50 /opt/view/test/itresult.log > /some/other/file3
tail -50 /opt/test/glr.log > /some/other/file4
tail -50 /opt/test/glr/glrdata.log > /some/other/file5
tail -50 /opt/test/glr/result.log > /some/other/file6
tail -50 /opttest/glr/output.log > /some/other/file7
,你甚至可以把它放进一个循环,并运行它每隔5秒:
while [ true ]
do
tail -50 /opt/psauto1/tester.log > /some/other/file
tail -50 /opt/psauto1/testdata.log > /some/other/file2
tail -50 /opt/view/test/itresult.log > /some/other/file3
tail -50 /opt/test/glr.log > /some/other/file4
tail -50 /opt/test/glr/glrdata.log > /some/other/file5
tail -50 /opt/test/glr/result.log > /some/other/file6
tail -50 /opttest/glr/output.log > /some/other/file7
sleep 5
done
我需要使用tail -f输入路径文件>输出路径文件从server.am捕获最近的日志,但一次没有捕获多个日志。 – indu 2011-06-01 12:10:55
我有7个日志I/P日志,例如:1)/opt/psauto1/tester.log,2)/opt/psauto1/testdata.log,3)/opt/view/test/itresult.log,4)/ opt/test/glr.log,5)/opt/test/glr/glrdata.log,6)/opt/test/glr/result.log,7)/opttest/glr/output.log。所以,我想捕获最近这些日志到另一个位置的个人路径... – indu 2011-06-01 12:28:01
@indu看到我的更新 – dogbane 2011-06-01 12:38:53
至于tail -f
,你可以做这样的:
(
tail -f file1 &
tail -f file2 &
)>>total_file
()
将把命令组合在一起(fork
ing一个子shell),>>
将附加到一个文件,&
将强制命令到后台。
至于Perl,select
在File::Tail手册很多说明如何做到这一点。
你的意思是说你想将一组文件合并成一个文件?你为什么认为你需要perl? – TLP 2011-06-01 11:34:54
不,我有单独的路径日志文件在那里运行Linux服务器,但我需要捕获该日志到单个文件的另一个位置。 – indu 2011-06-01 12:17:11
我不太明白你在做什么。复制文件?只需检查最近的几行?我认为你需要在这里更清楚地了解你的需求。 – TLP 2011-06-01 22:34:02