我想将我服务器上的git代码库与本地web服务器同步。我读过的所有指南都引起了不同的错误,现在我真的很绝望。如果你已经看过这个问题一百次,我很抱歉,但我仍然不明白 -.-。
- 在Linux SuSE上工作,并通过SSH使用PuTTY连接
- 需要进行同步的web项目位于文件夹:/srv/www/htdocs/my_project
- git代码库在此处:/srv/git/repository/my_project
- 我有“root”和“cron”两个用户
应该由用户“cron”每分钟或更短时间执行以下命令:
cd /srv/www/htdocs/my_project
git pull origin
(git fetch) <-- not mandatory
这些命令在手动输入时可以正常工作。(除了每次都需要输入用户密码)
在这个问题中,我得到了一些信息,但是当我尝试使用它们时,我总是会遇到错误。
我的cron应该长这样:
* * * * * su -s /bin/sh cron -c 'cd /srv/www/htdocs/my_project && /usr/local/bin/git pull origin master'
我在PuTTY上执行了这个命令,然而系统返回如下错误信息:-bash: bin: command not found
接下来,我尝试了:
crontab * * * * * su -s /bin/sh cron -c 'cd /srv/www/htdocs/my_project && /usr/local/bin/git pull origin master'
错误:crontab:无效选项--'s'
错误:crontab:使用错误:无法识别的选项
我尝试了很多组合(删除su -s或删除-c等),但它从未按我想要的方式工作。这个命令不应该在PuTTY上执行吗?
值得注意的是:我是一个Linux和GIT初学者,昨天开始使用它,并且实际上已经成功做了很多事情。 (^.^) 所以我希望能够得到一个易于理解的解释,告诉我我做错了什么以及我应该做什么。 这太令人困惑了。