実家のHDDが吹っ飛んで父上様ががんばって作ったデータが吹っ飛んでしまったので、定期バックアップを取ることに。 ポイントは以下のとおり
自動実行できる 勝手に消える SSH(鍵認証)越しに行える
調べたところ、とりあえずこんな方法がみつかりました。
plink(putty)+rsync(cygwin) plink(putty)+Unison SSH越しWindows共有+ミラーソフト(FastcopyやMercuryのディスクミラーツール等)
どれにしようかな~と思ったけど、とりあえずバイナリ1つでいけそうなunisonを利用する方法にチャレンジです。unisonを利用する上で気をつける点は
サーバ側にもunisonを入れておかないと全転送となってしまう unisonのバージョンが異なると失敗する 差分アップデートではなく、同期なので、サーバ側でファイルを消すとWindows側もファイルが消える
ぐらいが大きい点ではないかなと。これを踏まえて、行うことは大まかにこんな感じで進めました。
サーバ側にunisonをインストールする サーバ側でバックアップを共有するsambaの設定を、「read only」にする。 Windows側にunisonをインストールする バッチファイルを作成し、自動起動するように(ただし、ネットワークが正常にIPを取得する時間を待つため20秒程度後に実行するように)
というわけで、詳細をメモメモ。
サーバ側にunisonをインストール ルートになって # aptitude install unison サーバ側でバックアップを共有するsambaの設定を、「read only」にする。 新しいセクションを作成する smb.confで該当セクションに以下を追加 read only = Yes Windows側にunisonをインストールする etchのunisonのバージョンは現時点で2.13.16 ダウンロードは公式(http://www.cis.upenn.edu/~bcpierce/unison/)から 古いバージョンはここからダウンロード(https://svn.cis.upenn.edu/svnroot/unison-contributed-binaries/windows/) 「unison-2.13.16-win-text.exe」を落とす 適度な場所に展開するだけ バッチファイルを作成し、自動起動するように
ダウンロードしてきたバッチファイルがうまく使えなかったので、rem行をすべて省いたものをコピペ。下記を、「sync.bat」などとしたものに保存して実行すればOK。パス・設定系は適宜変更必要。
@echo offcls ping localhost -n 20 > nul
title Unison / plink [...]
こめんと