Dan*_* W. 2 cron rsyslog syslog raspberry-pi raspbian
在我的树莓上,我真的不需要 crons 和 pam 日志记录,我希望减少 I/O 以延长 SD 卡的使用寿命。
我已经用第二行删除了 cron cron.none,我目前正在测试authpriv.none
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none,cron.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
Run Code Online (Sandbox Code Playgroud)
基本上,我想记录的是致命的、硬件的东西、内核/dmesg 和失败的登录
我还能改进什么?
这不是您要寻找的答案,因为我将试图劝阻您不要这样做(这实际上是唯一合理的答案)。
在我的树莓上,我真的不需要 crons 和 pam 日志记录,我希望减少 I/O 以延长 SD 卡的使用寿命。
如果您认为 cron 确实执行了过多的日志记录,那么您应该考虑 cron 正在执行的操作以及频率,并对其进行调整。重点是,如果你不太关心它在做什么,那它为什么要这样做?
WRT SD卡,日志记录不够大,不必担心。如:完全无关紧要,您正在浪费时间思考它。SD 卡使用磨损均衡来帮助保护自己:它们不会受到碎片的影响(即碎片与性能无关),并且当您写入磁盘时,数据将写入卡中最少使用的部分,无论在哪里那是。这超越了分区边界,因此如果您在 16GB 卡上有一个 2GB 分区,则该分区不限于 2GB 宽的物理地址块:它是一个动态的 2GB,其物理地址将是一个不连续的、不断变化的列表涵盖整个卡片。
如果您的系统每天写入 1 MB 的日志(您可以通过将所有内容的副本发送到一个文件来检查这一点,这通常/var/log/syslog是这样的),并且您有一张 4 GB 的卡,则需要 4000 天才能完成这样的循环只写到整个卡一次。SD 卡的实际使用寿命可能高达100,000 次写入周期[但请参阅评论]。所以所有的日志记录都会使卡片磨损 4000 * 100000 / 365 =
您现在明白为什么将日志记录减少 25%、50% 甚至 99% 将完全无关紧要吗?即使卡在写入周期方面的寿命非常糟糕——比如 100 次——你仍然会从它注销几个世纪。有关此原理的更深入的测试演示,请参见此处。
基本上,我想记录的是致命的、硬件的东西、内核/dmesg 和失败的登录
除非您启用“调试”级别的日志记录,否则到目前为止,写入日志最多的事情是当某些事情真的出错时,并且通常这些会被列为高优先级,除非您完全禁用日志记录。例如,我怀疑在正常情况下您的 pi,使用默认的 raspbian 配置,每天写入 1 MB 的日志,即使它是 24/7。让我们总结一下。现在假设一个有缺陷的内核模块在一周内将相同的 100 字节“紧急”恐慌消息每秒 50 次写入无人值守系统上的系统日志:100 * 50 * 60 * 60 * 24 * 7 = ~ 30 MB。考虑到与上述卡的使用寿命以及您可能想要获取消息的事实。
顺便说一句,记录失控是非常不寻常的。记录是好的。日志是你的朋友。如果你想修改 rsyslog 配置,你的时间最好花在添加更多而不是更少上。