我想将我服务器上的 git 存储库同步到我的本地网络服务器。我阅读的所有指南都导致了不同的错误,现在我真的很绝望。对不起,如果您已经阅读了这个问题一百遍,但我仍然不明白 -.-
- 使用 Linux SuSE 并通过 SSH 使用 PuTTY 连接它
- 我需要同步的 webprojekt 位于文件夹中:/srv/www/htdocs/my_project
- git 存储库在这里:/srv/git/repository/my_project
- 我有用户:“root”和“cron”
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 初学者,昨天开始使用它,直到现在实际上已经做了很多。( ^.^ ) 所以我很乐意有一个可以理解的解释,我做错了什么,我必须做什么。这很令人困惑。