描述我的具体案例;在我们的centOS 6.6 final
服务器上,我已经安装了百胜计划,以便安排每晚检查活动存储库是否有更新。
我更喜欢避免自动安装,以下是配置文件的片段/etc/sysconfig/yum-cron
::
# Pass any given paramter to yum, as run in all the scripts invoked
# by this package. Be aware that this is global, and yum is invoked in
# several modes by these scripts for which your own parameter might not
# be appropriate
YUM_PARAMETER=
# Don't install, just check (valid: yes|no)
CHECK_ONLY=yes
# Check to see if you can reach the repos before updating (valid: yes|no)
CHECK_FIRST=no
一开始我还配置了 MAILTO 参数,以便从外部接收通知电子邮件(例如:[电子邮件受保护]),但一周后我开始认为通过电子邮件发送有关已安装软件包的信息并不是一个真正好的做法,我还修改了 MAILTO 参数以便将这些信息保留在服务器内,如下所示:
# by default MAILTO is unset, so crond mails the output by itself
# example: MAILTO=root
MAILTO=root
唯一剩下的问题是,每次都去检查内部电子邮件而不知道是否有更新不是很方便。出于这个原因,我在想是否有人知道一种向其发送外部通知的方法[电子邮件受保护](例如:“用户root@服务器A收到一封内部电子邮件)无需说明任何其他信息
预先感谢您的任何建议
答案1
检查 root 的邮箱文件(可能/var/mail/root
)是否比先前检查所触及的文件更新。如果是这样,则生成一封邮件。无论如何,请触摸最后检查的文件。从 运行此脚本cron
。
#!/bin/sh
FILE_TO_CHECK=/var/mail/root
LAST_RUN_FILE=/root/.mailboxcheck
if [ $FILE_TO_CHECK -nt $LAST_RUN_FILE ]; then
echo "file is newer, hooray"
fi
touch $LAST_RUN_FILE
另一种选择是在某处收集邮件线轴(例如通过rsync
),然后使用网页或其他类型的仪表板显示收集的信息。