我在无人值守的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会失败?
答案 0 :(得分:2)
最可能的解释是您的主目录是自动挂载的,这意味着如果您最近没有访问它,/home/spertus
将不存在。
正如您在评论中所说,您应该将目录移动到其他位置,或者找出如何强制安装它。
在执行命令之前,可能只是访问主目录:
ls /home/spertus >/dev/null 2>&1; cd /home/spertus/src-mirror/blockly; ...
就足够了,但我对automounting的了解还不够。