ein*_*lum 9 cron logs debian syslog sysstat
我的系统日志充满了以下内容:
Oct 28 23:35:01 myhost CRON[17705]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Oct 28 23:45:01 myhost CRON[18392]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Run Code Online (Sandbox Code Playgroud)
还有一些
Oct 28 23:59:01 myhost CRON[19251]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 60 2)
Run Code Online (Sandbox Code Playgroud)
现在,显然,这些来自 cron 作业,位于/etc/cron.d/sysstat:
# Activity reports every 10 minutes everyday
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
# Additional run at 23:59 to rotate the statistics file
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2
Run Code Online (Sandbox Code Playgroud)
我需要如此频繁地运行此操作吗?当我手动运行它时,它似乎没有做太多事情。我可以/应该关闭 cron 作业,或者卸载 sysstat 吗?
这些命令确实是 sysstat 包的一部分。它用于性能监控;具体来说,sar 是系统活动报告:
源自 Unix System V 的系统监视器命令,用于报告各种系统负载,包括 CPU 活动、内存/分页、中断、设备负载、网络和交换空间利用率。Sar 使用 /proc 文件系统来收集信息
因此,运行此命令实际上不会做任何有助于系统健康或稳定性的事情,它只是收集统计数据。
考虑到这一点,您有三个选择:
sysstat按照@wurtel 建议卸载。您表示您甚至无法看到收集的统计数据,因此显然您并没有真正使用此设施。这意味着您可能一开始就不需要这样的监控。将 cron 输出移至单独的文件中/var/log/messages,例如移至/var/log/cron. 如果您使用rsyslog日志记录(您可能会认为这是 Devuan 上的默认设置),您需要做的是取消注释中用于此目的的行/etc/rsyslog.conf:
#cron.* /var/log/cron.log
Run Code Online (Sandbox Code Playgroud)
只需删除开头的#; 并cron从 中删除/var/log/syslog,即替换:
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
Run Code Online (Sandbox Code Playgroud)
有了这个:
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
<h1>cron,daemon.none;\</h1>
daemon.none;\
mail,news.none -/var/log/messages
Run Code Online (Sandbox Code Playgroud)rsyslog,这意味着替换它:
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
Run Code Online (Sandbox Code Playgroud)
有了这个:
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
daemon.none;\
mail,news.none -/var/log/messages
*.=warn;*.=err\
cron -/var/log/messages
Run Code Online (Sandbox Code Playgroud)
在默认情况下/etc/rsyslogd.conf。(不过,坦率地说,我不明白为什么.=err一开始就不存在。