在使用salt给机器添加时间同步的计划任务的时候,忘记salt的cron模块的写法了,于是偷懒直接使用echo追加到/var/spool/cron/root的方法添加了计划任务。如下:
salt '*' cmd.run "echo '*/10 * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1' >> /var/spool/cron/root"
当时也没注意,后来登录某一服务器再去添加crontab 计划任务时候,突然发现无法保存新的计划任务了,提示我week错误,仔细一看,发现时salt批量添加的计划任务少写了个 *,正确的写法是:
echo '*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1' >> /var/spool/cron/root
一个偷懒导致的低级的小错误,害的我现在要每台主机都手工检查一遍计划任务。
正确的salt写法应该是:
salt '*' cron.set_job root '*/10''*' '*' '*' '*' '/usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1'
还好服务器数量不是很多,要是200台的话,还不知道怎么办呢。切记,切记。。