linux – 使用crontab和/etc/cron.hourly,daily,weekly之间的区别

前端之家收集整理的这篇文章主要介绍了linux – 使用crontab和/etc/cron.hourly,daily,weekly之间的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个预定的脚本,它对我们的Subversion存储库进行每小时svnsync备份.我从root crontab中的一个条目运行它没有问题,但我决定从/etc/cron.hourly运行它来代替额外的可见性(因为我们的一个工程师意外删除了crontab,因为他认为“crontab -r“意思是”读取crontab ;-))

cron.hourly脚本中的svnsync命令都失败,并显示一条消息,说明需要接受SVN存储库的SSL证书(这是用户第一次访问SVN存储库时以交互方式获得的消息,但是一旦证书I接受了消息不再出现).

所以在我看来,当从cron.hourly运行时,脚本在不同的用户环境下执行,而不是通过root crontab运行时.有人可以解释这个区别吗?

更新:我应该提到我的发行版,我在CentOS 5.1上使用了anacron.

更新2:感谢目前为止的建议;我认为这更像是一个颠覆问题.我总是尝试将我的环境封装到我的脚本中,但问题在于我不确定它是什么(或缺少)环境使得SVN要求在我运行脚本时接受SSL证书cron.hourly.我猜它与run-parts脚本的执行方式有关.

解决方法

您想使用’–config-dir’选项让它知道在哪里找到接受的证书(例如默认情况下为〜/ .subversion).

也就是说,我几乎可以肯定你最好从hooks / post-commit脚本调用svnsync,而不是suggested elsewhere.那么你的镜像始终是同步的,而不是与你的主人在一小时前的位置同步.

猜你在找的Linux相关文章