リポジトリの自動バックアップ

リポジトリにコミットするたびに、バックアップを取得する設定を行う。

Hookファイルの設定

コミット直後に呼び出されるhookファイルでアーカイブ処理行う。

hooks/post-receive
#!/bin/sh
#
WORK=~/gitrepo
REPO=test.git
SAVEDIR=/media/pi/BACKUP/Git
ZIP=Git-Archive.zip
TGZ=Git-Repo.tgz
test -d ${SAVEDIR} || mkdir -p ${SAVEDIR}
exec git archive master --format zip -o ${SAVEDIR}/${ZIP}
exec tar -C ${WORK} -cvf ${SAVEDIR}/${TGZ} ${REPO}

hookファイル名をpost-receiveにリネームし実行権限を付与する。

-rwxr-xr-x 1 gituser gituser   84  4月 30 22:15 post-receive