繁体   English   中英

git通过crontab自动拉

[英]git pull automatic via crontab

我想将我的服务器上的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:命令未找到

我的下一个尝试是:

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初学者,昨天开始使用它并且实际上已经设法做了很多。 ^。^ )所以我很乐意有一个可以理解的解释,我做错了什么,我该做什么。 这令人困惑。

实现您想要的最简单的方法(将git存储库自动部署在您的服务器上)是将git存储库放在您的Web服务器中,并使用钩子来执行检查。 如何解释这个问题: 使用Git push部署项目

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM