为什么我的cron作业有时会在“不是目录”的CD上失败?

时间:2013-11-19 19:41:01

标签: ubuntu cron cd

我在无人值守的Ubuntu工作站上创建了一个每日cron作业:

0 3 * * * cd /home/spertus/src-mirror/blockly; svn up; git add -A; git commit -m "Automatic commit `date`"; git push

大约一半时间,它有效。另一半时间,我通过电子邮件发送了一条错误消息,该消息以以下行开头:

/bin/sh: line 0: cd: /home/spertus/src-mirror/blockly: Not a directory
Skipped '.'

任何人都知道为什么cd会失败?

1 个答案:

答案 0 :(得分:2)

最可能的解释是您的主目录是自动挂载的,这意味着如果您最近没有访问它,/home/spertus将不存在。

正如您在评论中所说,您应该将目录移动到其他位置,或者找出如何强制安装它。

在执行命令之前,可能只是访问主目录:

ls /home/spertus >/dev/null 2>&1; cd /home/spertus/src-mirror/blockly; ...

就足够了,但我对automounting的了解还不够。