2016/05/18

gitサーバにssh接続して特定のディレクトリ配下にあるgitリポジトリを片っ端からcloneまたはpullするshell script

掲題の通りです。gitリポジトリのバックアップに使おうと思って書きました。expectコマンドは使ったことがなかったので、それなりにハマりつつ書きました。いい加減な作りなので使う人は気をつけてね☆
gitのhookでバックアップ用のremoteにpushする手も考えましたが、リポジトリが増えるごとにメンテがいる気がしたのでやめました。メンテは0にしたい。
会社のリポジトリはすべて社内サーバの特定ディレクトリ配下にあるので「ssh接続して検索、すでに知ってるリポジトリであればpull、新しく見つかったらcloneするマン」を用意すれば楽だなって。cronで実行すればほったらかしで済むし、メールで飛んでくるcronのログさえ見てればOKだし。
  1. gitサーバにssh接続してgitリポジトリをfind (サブディレクトリも)
  2. 対象リポジトリのリストを作成 (ファイルにする必要はないけど特に何も考えてない)
  3. 新しいリポジトリならディレクトリ階層も再現しつつclone、そうでなければpull

0 件のコメント:

コメントを投稿