使用cronjob进行Git自动拉取?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (251)

我正在尝试创建一个cronjob,其任务是git pull每分钟执行一次,以使我的生产站点与我的主分支同步。

nobody由于权限问题,git pull需要由系统用户完成。但是,似乎该nobody帐户不允许运行命令。所以我必须以root用户身份创建任务。

我试过的crontab条目:

*/1 * * * * su -s /bin/sh nobody -c 'cd ~heilee/www && git pull -q origin master' >> ~/git.log

它不起作用,我不知道如何调试它。

提问于
用户回答回答于

解决办法:

*/1 * * * * su -s /bin/sh nobody -c 'cd ~dstrt/www && /usr/local/bin/git -q pull origin master' 
用户回答回答于

虽然你确实需要弄清楚如何让更新在第一时间工作,但你最好还是使用上游的钩子来实现它。你可以简单地使用post-commit钩子卷曲或者如果你正在使用github,只需在他们身边使用一个后接收挂钩。

扫码关注云+社区

领取腾讯云代金券