参考までに、私はCentOS 5.5をサーバー上で実行しています。Git-Svnクローンをcronでどのように同期させるのですか?
私は他のいくつかの開発者と分散プロジェクトに取り組んでいます.Gitを使ってリポジトリを管理しています。すべてがGitoriousでライブでホストされ、美しく動作します。しかし、Gitの "ベンダーブランチ"のような外部のSubversionリポジトリとの同期を保つためには、リポジトリにブランチが必要です。理由は、この既存のオープンソースプロジェクト(WordPress)に基づいていくつかのことを構築しており、自分のリポジトリに公開しているバグ修正版を作業コピーに継承させたいからです。
ライブSubversionリポジトリと同期して保存できる「ワードプレス」という別のブランチがあるように設定しました。これらのコマンド
git checkout wordpress
git svn rebase
git gc
git push origin wordpress
ます:そのためには、同じくらい簡単です
- は確かに私たちはWordPressのブランチ
- 再同期ライブのSVNリポジトリ とブランチにしているしてください
- ガベージコレクションを実行する(そうでなければ、リポジトリは徐々に管理不能に大きくなる)
- 更新されたブランチをGitoriousのホストされたリポジトリにプッシュする
WordPressのトランクのアップデート時にこれらの4つのコマンドを実行するのは簡単ですが、それは面倒で面倒です。私はcronの仕事としてこれを設定するのが大好きですが、私はどのように把握することができない!
私はwordpress.sh
というスクリプトを書かれており、サーバー上の/etc/
フォルダに配置した:
#!/bin/bash
cd /var/www/git/wordpress
git checkout wordpress
git svn rebase
git gc
git push origin wordpress
スクリプトがうまく動作します。私は自分のサーバーにSSHでログインし、rootでログインして. /etc/wordpress.sh
と入力すれば、すべて正常に動作します。しかし、私はこれを設定して、cronが私のために何かをするようにすることができますか?
CentOSのWebadminインターフェイスを使用して手動でcrontabに追加しようとしましたが失敗しました(失敗した場合)、今は迷っています!私のシステムログ、それは発射だと請求(以下ログ):
Feb 4 07:00:01 ---- crond[27745]: (root) CMD (/etc/wordpress.sh #WordPress mirror)
Feb 4 07:01:01 ---- crond[27773]: (root) CMD (run-parts /etc/cron.hourly)
Feb 4 08:00:01 ---- crond[29095]: (root) CMD (/etc/wordpress.sh #WordPress mirror)
Feb 4 08:01:01 ---- crond[29142]: (root) CMD (run-parts /etc/cron.hourly)
Feb 4 09:00:01 ---- crond[29708]: (root) CMD (/etc/wordpress.sh #WordPress mirror)
Feb 4 09:01:01 ---- crond[29718]: (root) CMD (run-parts /etc/cron.hourly)
Feb 4 10:00:01 ---- crond[30328]: (root) CMD (/etc/wordpress.sh #WordPress mirror)
Feb 4 10:01:01 ---- crond[30337]: (root) CMD (run-parts /etc/cron.hourly)
しかし、私がログインして、手動でスクリプトを実行しない限り、何も実際には起こりません。アイデア?
また、コマンド 'を使って試しました。/etc/wordpress.sh'をcronジョブで実行しましたが、それは何もしませんでした。 – EAMann
私が最終的に(y @ ygramのアドバイスに基づいて)解決策にどのようになったかについてのより長い議論に興味がある人は、私のブログのフォローアップ投稿をチェックしてください:http://eam.me/e1 – EAMann