1.写入 $() 或 `` 导致错误
35 16 * * * /usr/bin/bash /root/.crontab/rsync.sh >>/tmp/rsync-$(date +%m%d).log 2>&1
这么写乍一看没看问题,可是定时任务一执行就错误.
通过查看 定时任务的log (/var/log/cron),发现 写入的$()不能解析
Nov 28 16:34:01 ybox CROND[13338]: (root) CMD (/usr/bin/bash /root/.crontab/rsync.sh >>/tmp/rsync-$(date +)
将时间变量写在全局变量中,然后在执行定时任务
[root@changan ~]# tail -1 /etc/profile
time=`date +%m-%d`
source /etc/profile && /usr/bin/bash /root/.crontab/rsync.sh >>/tmp/rsync-$time.log 2>&1