サーバー上の git リポジトリをローカル Web サーバーに同期したいと考えています。私が読んだすべてのガイドはさまざまなエラーを引き起こし、今では本当に必死です. この質問をすでに100回読んでいるのなら申し訳ありませんが、まだ理解できません-.-
- 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 を削除したりなど)。
知っておくと便利: 私は Linux と GIT の初心者で、昨日から作業を開始し、実際に今まで多くのことを行うことができました。( ^.^ ) だから、私が何を間違えて、何をしなければならないかについて、わかりやすい説明をいただければ幸いです。ややこしい。