加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:12:05 所属栏目:Linux 来源:网络整理
导读:我有一个预定的脚本,它对我们的Subversion存储库进行每小时svnsync备份.我从root crontab中的一个条目运行它没有问题,但我决定从/etc/cron.hourly运行它来代替额外的可见性(因为我们的一个工程师意外删除了crontab,因为他认为“crontab -r“意思是”读取cron
我有一个预定的脚本,它对我们的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.那么你的镜像始终是同步的,而不是与你的主人在一小时前的位置同步.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读