我有一堆 munin 节点在运行,每五分钟它们就会在以下位置生成此消息/etc/syslog
:
CRON[5779]: (root) CMD (if [ -x /etc/munin/plugins/apt_all ]; then /etc/munin/plugins/apt_all update 7200 12 >/dev/null; elif [ -x /etc/munin/plugins/apt ]; then /etc/munin/plugins/apt update 7200 12 >/dev/null; fi)
crontab 中没有与 munin 相关的作业。我猜这是一些检查 munin 插件更新的脚本。有什么方法可以阻止这种情况,并且仅手动更新插件(或它正在执行的任何操作)?
答案1
用户有两组 cron 作业:用户的 crontab(用 编辑crontab -e
)和系统 crontab ( /etc/crontab
)。系统 crontab 允许系统管理员以任何用户身份(通常是 root 或系统帐户)执行作业。
在系统帐户上拥有用户 crontab 的情况并不常见,因为系统帐户不应该是修改 crontab 的帐户,而应该由管理员来执行。而且发行版永远不会传送用户 crontab,因为发行版无法完全控制用户名和用户 ID,而传送条目/etc
是例行公事。因此,来自发行版的任何内容都在系统 crontab 中。
系统crontab的位置是/etc/crontab
。至少在 Debian 衍生版上,/etc/crontab
不包含任何实际服务,而仅包含在子目录下运行脚本的说明,/etc
例如/etc/cron.daily
日常作业等。此外,Debian 的 cron 会读取/etc/cron.d
.将单独的作业放在单独的文件中的原因是为了使包管理更容易(包只需将文件放入目录中即可注册 cron 作业)。因此,如果您正在寻找系统 cron 作业,请检查/etc/cron*
,而不仅仅是/etc/crontab
。