フォルダーの同期・バックアップは「FastCopy」が圧倒的に速い!

会社に新しいサーバー(Windows 2012 Server)を導入したついでに、毎日のバックアップ方法を見なおそうと、いろいろなフリーソフトを試しましたが、「FastCopy」が圧倒的に速いです。

できればマイクロソフト系を使用したかったのですが、使い勝手が悪かったり、遅かったりしました。FastCopyがどのくらい速いのかは以下 が参考になります。

Link

巨大なファイルをコピーする専用ツール、最も速いのはどれだ? | 教えて君.net

http://www.oshiete-kun.net/archives/2009/03/post_478.html

Link

http://www.se-support.com/server/fileserver-copy.html

バックアップは遠隔地にあるNASに保存するため、ローカルとは違い転送速度が遅く、転送量が多いとバックアップに時間がかかりすぎて業務時間に食い込むので、早く終わるように速いソフトを探していました。実際に使ってみると速さを実感できます。とにかく速いです。

FastCopyIP Messengerの作者が同じで、32bit版と64bit版があり、GUIで使えるのはもちろんですが、コマンドプロンプトでも使えます。テキストエディタでコマンドをbackup.batなどバッチファイルを作成してタスクスケジューラに登録すれば自動バックアップもできます。

;書式例
"c:\FastCopy\FastCopy.exe" /オプション "コピー元" /to="コピー先"

ちなみに以下のバッチファイルで複数のフォルダをバックアップ先に連続で同期させています。サーバーのDドライブとEドライブを遠隔地のNASのバックアップフォルダに保存するというものです。

rem FastCopyでバックアップ
"C:\Program Files\FastCopy\fastcopy.exe" /cmd=sync /auto_close /estimate /no_confirm_del /bufsize=512 /log /exclude="$RECYCLE.BIN\;System Volume Information" "D:\" /to="\\NASS\backup\d"
"C:\Program Files\FastCopy\fastcopy.exe" /cmd=sync /auto_close /estimate /no_confirm_del /bufsize=512 /log /exclude="$RECYCLE.BIN\;System Volume Information" "E:\" /to="\\NASS\backup\e"

コマンドのオプションについては作者のホームページで確認してください。

Link

http://www.se-support.com/server/fileserver-copy.html

GUIであらかじめ登録したジョブ名で実行することもできます。

rem FastCopyでバックアップ
"C:\Program Files\FastCopy\fastcopy.exe" /cmd=sync /auto_close /estimate /no_confirm_del /bufsize=512 /log /job="SERVER-D" /exclude="$RECYCLE.BIN\;System Volume Information"
"C:\Program Files\FastCopy\fastcopy.exe" /cmd=sync /auto_close /estimate /no_confirm_del /bufsize=512 /log /job="SERVER-E" /exclude="$RECYCLE.BIN\;System Volume Information"

ジョブ名は"C:\Users\ユーザー名\AppData\Roaming\FastCopy\FastCopy.ini"の中にtitle=の部分に記載されています。

[job_0]
 title="SERVER-D"
  :
  :  
[job_1]
title="SERVER-E"
  :

バッチファイルでFastCopyを実行している間はデスクトップ右下のタスクアイコンがクルクル回っています。そのアイコンをクリックすれば実行状況をGUIで確認できます。

ただし、GUIを開きっぱなしにしていると、/auto_closeを指定していても次のバックアップが始まりません。

ログは以下に保存されています。

C:\Users\ユーザー名\AppData\Roaming\FastCopy\FastCopy.log

 

バッチファイルのコマンドはこういう書き方もできるようです。

@echo off
rem --------------------------------------------------
rem FastCopyを利用したバックアップを実施する。
rem --------------------------------------------------

rem Fastcopyのパス
set fastcopy="C:\Program Files\FastCopy\FastCopy.exe"

rem ログファイル関連設定
set sourceLogFile="C:\Program Files\FastCopy\FastCopy.log"
rem yyyymmdd_backup.logとして移動する
set destLogFile=D:\backup_log\%date:~0,4%%date:~5,2%%date:~8,2%_backup.log

rem コピー元・先の設定
set sourceDir="C:\test_dir\" "C:\test_file.txt"
set destDir="D:\backup\"

rem Fastcopyで同期コピーを実施
%fastcopy% /cmd=sync /skip_empty_dir /force_close %sourceDir% /to=%destDir%

rem ログファイルを移動
move %sourceLogFile% %destLogFile%

その他参考

PAGETOP