尝试为此运行 bash 脚本,因为我想将其放入 cron 并每晚运行以从文件中提取错误并写入同一目录中的文件:
我的脚本只是挂起,什么也拉不出来:
#!/bin/bash
tail -f /var/log/syslog | grep -i "error" > /var/log/syserrorlog.log
当它运行时,我希望它写入/更新同一个文件而不是覆盖它。
最佳答案
将 >
更改为 >>
(后者表示追加)。此外,tail -f
将根据定义挂起:它会监视文件中的新数据。
如果您的系统日志每天轮换,那么您可以简单地使用
#!/bin/bash
cat /var/log/syslog | grep -i "error" >> /var/log/syserrorlog.log
如果没有轮换,你可以在过滤掉相关日期的管道中添加一个grep
关于linux - Grep 文件中的错误并将它们放入新文件但不覆盖新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37885595/