我有一个计划的脚本,该脚本每小时对我们的Subversion存储库进行svnsync备份。我从crontab根目录中的某个条目运行它没有问题,但是我决定从/etc/cron.hour来运行它,以获取更多的可见性(并且因为我们的一位工程师不小心删除了crontab,因为他认为“ crontab -r”的意思是“阅读crontab ;-))
cron.hourly脚本中的svnsync命令全部失败,并显示一条消息,指出需要接受SVN存储库的SSL证书(这是您在用户首次访问SVN存储库时以交互方式获得的消息,但是一旦我接受消息不会再出现)。
因此在我看来,从cron.hourly运行时与通过根crontab运行时,脚本是在不同的用户环境下执行的。谁能解释其中的区别?
更新:我应该提到我的发行版,我在CentOS 5.1上使用anacron。
更新2:感谢到目前为止的建议;我认为这更多地是一个Subversion问题。我总是尝试将环境封装到脚本中,但是这里的问题是我不确定在从以下位置运行脚本时,SVN要求接受SSL证书的环境中(或缺少该环境)的原因每小时一次。我猜想这与运行部件脚本的执行方式有关。