我们在多个服务器上的同一位置有一个大日志文件,我想创建一个cron作业以将文件截断为最后10万行。
以下命令有效:
sed -i 1,$(($(wc -l < /root/server123.example.com.log) -100000))d /root/server123.example.com.log
但是每个服务器上的主机名是不同的(server1,server2,server3等),我希望有一个命令可以粘贴到每个cron文件中。在测试期间,我不确定如何在上述命令中实现通配符。
我认为最好的方法可能是将它与find命令结合使用,但是我对如何做到这一点一无所知。
find /root/server*.example.com.log -type f -exec sed <NOT SURE..> \;
任何帮助将不胜感激。
答案 0 :(得分:0)
在测试期间,我不确定如何在上述命令中实现通配符。
如果每个服务器上只有一个日志文件,则只需插入通配符即可:
sed -i 1,$(($(wc -l < /root/server*.example.com.log) -100000))d /root/server*.example.com.log