■ 想定環境
* バックアップ先:Windows / Gitインストール済 <= こっちでバックアップ * バックアップ元:Linux(CentOS7) / Gitインストール済 / SSH接続
前提条件
* GitがインストールされていることLinux
https://blogs.yahoo.co.jp/dk521123/37613741.html
Windows
https://blogs.yahoo.co.jp/dk521123/37686059.html
* 公開鍵認証でアクセスできること(以下の関連記事の「■ 公開鍵認証でアクセスする」を参照)Windows
https://blogs.yahoo.co.jp/dk521123/37686059.html
■ 手順
【1】Windows側でバックアップ対象のリポジトリをcloneする
コマンドプロンプトを立ち上げ、バックアップするフォルダまで移動し、git cloneする git clone 【OSユーザ名】@【IP/Host】:【パス】 [例] git clone admin@192.168.16.XXX:/home/admin/.git/helloworld.git ... バックアップしたい分だけ、cloneする
【2】バックアップ用のバッチファイルを作成
バックアップするフォルダ直下に保存。フォルダ配下の全レポジトリに対して、git pullを行うecho off FOR /d %%repository IN (%~dp0\*) DO ( REM for backup cd %%repository git pull cd .. )補足:SSH公開鍵認証の必要性
* SSH公開鍵認証しないと、「git pull」するときにパスワード聞かれるので必要
【3】タスクスケジューラによりバッチを定期実行する
Windowsタスクスケジューラにより【2】を定期実行するように設定する * 基本タスクを作成 + トリガー:毎日バックアップする時間(ex. 23:45)を指定 + 操作 :「プログラムの開始」で【2】のバッチファイルを指定