2016-06-17 45 views

回答

2

将您的>更改为>>(后者表示追加)。此外,tail -f将按定义挂起:它将监视文件以获取新数据。

如果你的系统记录每天都在旋转,那么你可以简单地使用

#!/bin/bash 
cat /var/log/syslog | grep -i "error" >> /var/log/syserrorlog.log 

如果不旋转,你可以添加一个grep,以过滤掉有关日期

+0

谢谢..明天早上我会试试这个,让你知道结果 – Kerry

+0

完美...感谢您的帮助 – Kerry

0

尝试使用管道logrotate。这是用于定期轮换日志的守护进程(例如,存档日志文件,然后每天晚上清除它们)。它支持许多配置选项,其中之一是postrotate - 旋转完成后执行的自定义脚本。说明从logrotate的手册页复制:

postrotate/endscript

postrotate和endscript(两者必须由他们自己上出现线条)之间的界限被执行(使用/ bin/sh的)在 日志文件旋转后。这些指令可能只出现在日志文件定义 中。通常,日志文件的绝对路径作为脚本的第一个参数传递给 。如果指定了共享脚本,则将整个 模式传递给该脚本。另见prerotate。请参阅共享脚本 和nosharedscripts以进行错误处理。

系统日志也是一个标准的守护进程,所以它应该有配置文件在/etc/logrotate.d/。你可以在那里添加你的命令。

相关问题