我最近升级到了 Ubuntu 15.04,之后我的 cron 电子邮件中出现了这些奇怪的错误。遗憾的是,我不记得我升级的是哪个版本的 ubuntu,但我认为是 15.04 之前的最新版本。
backup_nas 调用的 rsync 脚本仍然有效,它只是一个调用 rsync 的简单 bash 脚本。
/etc/cron.daily/apt:
/etc/cron.daily/apt: 91: /etc/cron.daily/apt: date: not found
/etc/cron.daily/apt: 97: /etc/cron.daily/apt: rm: not found
/etc/cron.daily/apt: 448: /etc/cron.daily/apt: pidof: not found
/etc/cron.daily/apt: 176: /etc/cron.daily/apt: date: not found
/etc/cron.daily/apt: 176: /etc/cron.daily/apt: date: not found
/etc/cron.daily/backup_nas:
sending incremental file list
我的/etc/crontab
:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
我的/etc/anacrontab
:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
# These replace cron's entries
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts --report /etc/cron.monthly
可能是什么问题?我已经完成了apt-get dist-upgrade
,没有出现任何错误。我还尝试重新安装无人值守升级,但没有任何改变。
答案1
替换所有实例日期和/usr/bin/日期并对每个命令/路径执行相同的操作。
在 cron 脚本中使用绝对路径,期望 shell 是愚蠢的,不使用任何 PATH 或环境变量。此外,默认使用的 shell 是 /bin/sh,而不是 bash。
日期:未找到
which date
/usr/bin/date