我可以避免在系统日志中出现 debian-sa1 行吗?

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 吗?

ein*_*lum 8

这些命令确实是 sysstat 包的一部分。它用于性能监控;具体来说,sar 是系统活动报告

源自 Unix System V 的系统监视器命令,用于报告各种系统负载,包括 CPU 活动、内存/分页、中断、设备负载、网络和交换空间利用率。Sar 使用 /proc 文件系统来收集信息

因此,运行此命令实际上不会做任何有助于系统健康或稳定性的事情,它只是收集统计数据。

考虑到这一点,您有三个选择:

  1. sysstat按照@wurtel 建议卸载。您表示您甚至无法看到收集的统计数据,因此显然您并没有真正使用此设施。这意味着您可能一开始就不需要这样的监控。
  2. 将 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)
  3. 如果您不关心在没有错误的情况下查看 cron 作业日志记录,@binarym 建议将日志记录限制为错误或警告消息。对于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一开始就不存在。