【Git】 Git ~ バックアップ / Windows 編 ~

【0】バックアップ方針

色々な方法があると思うが...
バックアップ先から定期的に、git cloneを行う(それだけ)

【1】想定環境

* バックアップ先:Windows / Gitインストール済 <= こっちでバックアップ
* バックアップ元:Linux(CentOS7) / Gitインストール済 / SSH接続

1)前提条件

* Gitがインストールされていること
* 公開鍵認証でアクセスできること

 1)手順

[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] のバッチファイルを指定