SyncToy を使用してフォルダのバックアップを行う

ページ更新日 :
ページ作成日 :

概要

マイクロソフトから提供されている無償利用可能なバックアップツール「SyncToy」を使用してフォルダのバックアップを行います。

SyncToy を使用してフォルダのバックアップを行う

動作環境

動作確認環境

Windows バージョン
  • Windows 7
  • Windows Vista
SyncToy バージョン 2.1

必須動作環境

Windows バージョン
  • Windows 7
  • Windows Vista
  • Windows XP
CPU 1.0 GHz 以上
メモリ 512 MB 以上
ストレージ空き容量 20 MB 以上
必須コンポーネント Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)

または
Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x64)

内容

フォルダのバックアップソフトは有償無償問わず多くのソフトウェアがありますが、今回使用する「SyncToy」は以下のような特徴があります。

  • 無償で使用可能
  • フォルダ単位でバックアップ
  • 複数のフォルダを指定可能
  • シンプルな画面で構成されており、マニュアル等を見なくても直観的な操作が可能
  • フォルダの双方向同期、単一方向同期、上書きコピーを指定可能
  • コマンドラインツールによるバックアップ処理が可能
  • フォルダの存在確認による同期ではなく、ファイル操作追跡による同期処理のため高速なバックアップが可能。例えばファイル名を変えた場合、通常はバックアップ先でファイル名変更前のファイルを削除して、新しいファイル名でコピーを行うが、SyncToy の場合は、コピー先のファイル名を変える処理を行う。
  • SyncToy は英語版のみ

インストール

SyncToy のダウンロード

http://www.microsoft.com/downloads/details.aspx?FamilyID=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&displaylang=en」のページにアクセスし、ページ下にある「Download」ボタンをクリックしてインストーラーをダウンロードします。

SyncToy は 32bit 版と 64bit 版の両方があるので、使用している OS の環境にあったものをダウンロードしてください。

Microsoft Sync Framework 2.0 Core Components のインストール

ダウンロードしたインストーラーを実行します。

セットアップダイアログが表示されるので「Accept」ボタンをクリックします。

Microsoft Sync Framework 2.0 Provider Services のインストール

「Accept」ボタンをクリックします。

注意確認

「I have read and understand the warning above」にチェックをつけ、「Next」ボタンをクリックします。

License Agreement

ライセンス契約をよく読み、許諾できる場合は「I Agree」にチェックを入れ「Next」ボタンをクリックします。

インストールの確認

「Next」ボタンをクリックするとインストールが開始します。

インストール完了

インストールが完了したら「Close」ボタンをクリックして閉じます。

SyncToyの設定

SyncToy 2.1

インストールが完了したら「スタートメニュー」から「SyncToy 2.1」を選択して起動します。

カスタマーフィードバックオプション

SyncToy カスタマーフィードバックオプションのダイアログが表示されますが、特に何もなければ「OK」ボタンをクリックして閉じます。

Create New Folder Pair

SyncToy のウインドウが開いたら同期するフォルダを指定します。「Create New Folder Pair」ボタンをクリックします。

同期フォルダの指定

「Left Folder」にはコピー元のフォルダ、「Right Folder」にはバックアップ先のフォルダを指定します。

指定したら「Next」ボタンをクリックします。

コピー方法

コピー方法を指定します。コピーの方法は以下の通りです。

コピーの種類 コピーの動作
Synchronize 作成、更新、削除、リネームがあったファイルを双方向で同期します。
Echo Left Folder で作成、更新、削除、リネームがあったファイルを Right Folder へ反映させます。
Contribute Left Folder で作成、更新、リネームがあったファイルを Right Folder へ反映させます。Right Folder にあるファイルが削除されることはりません。

フォルダペア名

フォルダペアの名前を設定します。なんでもかまいませんが、コマンドラインで指定する名前にも使用されます。

プレビューボタン

作成したフォルダペアは画面の左上に表示されます。フォルダペアを作成した時点ではまだファイルのコピーはされていないので、「Preview」ボタンを押してコピーされるファイルを確認することができます。

プレビュー画面

コピーされるファイルの一覧ではコピー動作やファイルサイズなどを確認することができます。

コピー除外設定

通常フォルダ内のファイルはすべてコピーされますが、左のチェックをはずして特定のファイルのコピーを除外することもできます。

コピー実行

画面の右下にある「Run」をクリックすると実際にファイルがコピーされます。プレビューせずに前の画面で直接「Run」ボタンを押して実行することもできます。

コピーの新緑と結果

実際にファイルがコピーされ、進捗と結果が表示されます。

すべてのフォルダペア

左のメニューから「All Folder Pairs」を選択すると、作成したフォルダペアの一覧が表示されます。ここで「Run All」ボタンをクリックすると全てのフォルダペアの同期を行うことができます。コピー対象外にしたいフォルダペアがある場合はフォルダペアの左にあるチェックを外します。

フォルダペアの名称変更と削除

各フォルダペアを選択中は「Rename Folder Pair」「Dekete Folrder Pair」ボタンでそれぞれフォルダペアの名称変更、削除を行うことができます。

タスク スケジューラによる定期バックアップ

タスク スケジューラ

SyncToy 自体にはスケジューリングする機能はありませんが、コマンドラインから実行ができるので、Windows 標準搭載の「タスク スケジューラ」で定期バックアップを行うことができます。

スタートメニューから「アクセサリ → システム ツール → タスク スケジューラ」を選択して起動します。

基本タスクの作成

タスク スケジューラが起動したら右の操作メニューから「基本タスクの作成...」をクリックします。

名前と説明

「基本タスクの作成ウィザード」ダイアログが表示されるのでタスクの内容がわかりやすいように「名前」と「説明」を入力します。

タスク トリガー

バックアップを行うタイミングを指定します。

タスク トリガーの詳細

バックアップを行うタイミングの詳細を指定します。前の画面で指定したトリガーによってここに表示される内容は異なります。

操作

「プログラムの開始」にチェックを入れ「次へ」ボタンをクリックします。

プログラムの開始

「プログラム/スクリプト」に「"C:\Program Files\SyncToy 2.1\SyncToyCmd.exe"」と入力します(SyncToy のバージョンによってはフォルダが異なる場合があるので「SyncToyCmd.exe」ファイルがあるか確認してください)。パスはダブルクォーテーションで囲んでください。

「引数の追加 (オプション)」に「-R"<フォルダペア名>"」を入力します。単一のフォルダペアのみを実行する場合はフォルダペア名を指定しますが、すべてのフォルダペアの同期を行いたい場合は「-R」のみを指定します。

概要

入力した内容を確認し「完了」ボタンをクリックします。後は、指定したスケジュールで自動的に同期が行われるか確認してください。

コマンドラインから実行時にコマンドプロンプトを表示しないようにする。

コマンドプロンプト

実際にタスク スケジューラでコマンドラインから実行すると、フォルダ同期時にコマンドプロンプトが表示されてしまうことが分かります。SyncToyのファイルコピーは非常に軽いので短い間隔でスケジュールしても問題ありませんが、コピー中にコマンドプロンプトが表示されてしまうのは結構目障りです。

ここではコマンドプロンプトが表示されないようにフォルダの同期を行う方法について説明します。

まずテキストフォルダを開き、以下のようなプログラムを入力します。

Set ws = CreateObject("Wscript.Shell") 
ws.run """C:\Program Files\SyncToy 2.1\SyncToyCmd.exe"" -R""SyncTest""",vbhide

作成したテキストを「.vbs」の拡張子で保存します。ファイル名や保存フォルダ先は任意でかまいませんが、タスク スケジューラで定期的に使用しますので今後ファイルを動かさなくてもいい場所に保存してください。

また、以下のように -R のフォルダペア名を指定しない場合は、SyncToy で有効になっているフォルダペアすべての同期が実行されます。

Set ws = CreateObject("Wscript.Shell") 
ws.run """C:\Program Files\SyncToy 2.1\SyncToyCmd.exe"" -R",vbhide 

作成したタスク

タスク スケジューラを開くと先ほど作成したタスクが表示されてますのでダブルクリックして詳細ダイアログを開きます。

作成した操作

「操作」タブを選択し、さきほど作成した操作をダブルクリックします。

プログラムの変更

「プログラム/スクリプト」に「wscript.exe」と入力し、「引数の追加 (オプション)」には先ほど作成した「.vbs」ファイルのフルパスを指定します。パスはダブルクォーテーションで囲んでください。これでコマンドプロンプトが表示されずにファイルの同期を行うことができます。

その他

フォルダに作成されるファイル

フォルダペアで指定したフォルダには「SyncToy_xxxxxx.dat」というファイルが作成されます。SyncToy の同期で使用されるファイルなので削除しないようにしてください。