プロが教える店舗&オフィスのセキュリティ対策術

SubVersionのリポジトリを定期的に、バックアップ取りたいと思っております。

*** 環境 ***********************************
Windows2000Server
SubVersion 1.6.4. + Apache HTTP Server 2.2
*******************************************

毎日決まった時間に 「月~土」は、差分バックアップをとり「日」は、
フルバックアップを取りたいです。

dumpファイルでのバックアップ方法は、 「svnadmin dump」 で実行し、引数指定にて差分バックアップも行えることが分かったのですが、これをスケジューリングする方法が分かりません。

自動でバックアップをとる方法を、教えてください。

A 回答 (2件)

バッチファイルでやるとなると…少々面倒かも知れませんね…


なんらかのスクリプト言語使った方がいいような気もしますが…。

svnlook youngest リポジトリパス
で、最新のリビジョン番号が取得できます。
svnlook date リポジトリパス
で、指定したリビジョンのコミット日時が取得できるので、
リビジョンを一つずつ戻りながら日時を取得していく…という方法で
特定の日付のリビジョンも取得できるでしょう。

どちらかというと…バックアップ取得したときのリビジョン番号をどこかに記録しておいて、それを取得して使用する。
とかの方が楽かと…。
# Linuxとかならgrepやらのフィルタコマンドでsvnadminでダンプしたファイルからリビジョン番号取得するのも簡単なんですが…。

この回答への補足

svnlook youngest リポジトリパス のコマンドを使って、
バッチファイルによる、スクリプトを作成しました。

バックアップをとった後は、毎回「svnlook youngest」コマンドにて最新バージョンを取得し、値をとっておいて次回の差分バックアップの際に利用するしくみを作りました。

教えていただいたおかげで、無事解決しました。ありがとうございました。

補足日時:2011/03/07 12:57
    • good
    • 0
この回答へのお礼

丁寧に教えてくれてありがとうございます。

>svnlook youngest リポジトリパス
>で、最新のリビジョン番号が取得できます。
>svnlook date リポジトリパス
>で、指定したリビジョンのコミット日時が取得できる

コマンドで取得できたのですね。すごいです。ありがとうございます。

無知でスクリプトの作り方もよく分からないですが、とりあえずバッチファイルにて
スクリプト作ってみたいと思います。

お礼日時:2011/03/07 10:26

>これをスケジューリングする方法が分かりません。



http://technet.microsoft.com/ja-jp/library/bb742 …
http://technet.microsoft.com/ja-jp/library/cc985 …
など…タスクスケジューラでできませんか?

この回答への補足

タスクスケジューラの使い方は知っています。

私が知りたいのは、サブバージョンでの差分バックアップを自動で行う方法です。

たとえば、履歴が日曜日までに5,000までたまっていたとします。
日曜日に、バージョン1~5,000までのリポジトリをフルバックアップします。
(このコマンドは固定でいいのでタスクスケジューラーでバッチファイルをキックするだけでいいと思います。)

月曜日に、履歴を、5,003まで更新したとします。
このとき、サブバージョンにて、5,001~5,003までの差分バックアップをとることになりますが、この5,001と5,003という数値をそもそもどのようにして取得するのかよく分かりません。

補足日時:2011/03/06 16:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!