我想将我的服务器上的git存储库同步到本地网络服务器。我读过的所有指南导致了不同的错误,现在我真的很绝望。我很抱歉,如果您已经阅读这个问题上百倍,但我还是不明白这一点-.-git pull通过crontab自动执行
- 与SUSE Linux的工作,并通过SSH用腻子conneting它
- 的webprojekt哪里需要同步的文件夹上:/ SRV /网络/ htdocs中/ MY_PROJECT
- Git仓库,在这里:/ SRV /混帐/库/ MY_PROJECT
- 我有用户: “根” 和 “cron的”
cron应该每分钟或更少的时间做这个命令h用户“cron”:
cd /srv/www/htdocs/my_project
git pull origin
(git fetch) <-- not mandatory
当我手动输入这些命令时,这些命令正常工作。 (除了每次都必须输入用户密码外)
In this question I got some informations, but I always get an error when I try them myself。
我的cron应该是这样的,那么:
* * * * * su -s /bin/sh cron -c 'cd /srv/www/htdocs/my_project && /usr/local/bin/git pull origin master'
我执行该对我的腻子,其回答我:-bash:斌:找不到命令
我的下一个尝试是:
crontab * * * * * su -s /bin/sh cron -c 'cd /srv/www/htdocs/my_project && /usr/local/bin/git pull origin master'
错误:crontab中:无效选项 - 'S'
错误:crontab中:用法错误:无法识别的选项
我尝试了很多更多的组合(除苏-s或删除-c等),但它从来没有工作,因为我想-.-不该” t我在PuTTY上执行此命令?
相关知识:我是一名Linux和GIT初学者,昨天开始使用它,实际上设法做到现在。 (^。^)所以我会很高兴有一个可以理解的解释,我做错了什么,我必须做什么。这很混乱。
cronjob不是执行此操作的最佳方法。您的git存储库在哪里托管? – Chronial
存储库不在某处。在服务器上,我有apache,gitolite和git存储库。如果这是你的想法,我们不使用github.com。在我们将项目上传到活动服务器之前,我想使用thiy系统进行内部测试。 – lastria