2014年9月7日日曜日

最近のデータのみクラウドバックアップ

I will Cloud backup only recent data.

ローカルバックアップもおこなっているのだけれども、念の為クラウドを利用したバックアップもおこないたいというとき、最近のデータのみクラウドと同期しておいていざという時に備える方法。

Windowsの場合です。



この例では、Dropboxを利用しています。

まず、クラウドストレージサービスのクライアントアプリをインストールしてクラウドと同期するフォルダを作成しておきます。

この同期フォルダに対して、定期的にクラウドと同期したいファイルをコピー/削除します。
これをバッチファイルとタスクスケジューラで構成します。

同期する対象を、フォルダ名や、直近○○日以内などで指定します。
また、過去60日より古いファイルは削除します。

コピーには、Fastcopy を利用します。差分コピーできます。
http://ipmsg.org/tools/fastcopy.html

いかは、直近90日以内のファイルをDropboxと同期、90日より古いファイルをDropboxから削除するという例です。


●バックアップするバッチファイルはこんな感じ
:: cloud backup test by fastcopy :: copy echo off :: コマンド SET CMD_NAME=c:\tool\fastcopy211\fastcopy.exe :: バックアップ元 SET SRC_DIR=e:\backup :: バックアップ先 SET BACK_DIR=c:\z\DropBox\backupCloud\recent :: バックアップポイント SET BACKUP_POINT=-90D  90日以内をコピー %CMD_NAME% /cmd=diff /bufsize=512 /log /logfile=cplog.txt /from_date=%BACKUP_POINT% /auto_close /force_close /open_window %SRC_DIR% /to=%BACK_DIR% :END
●古いファイルを削除するバッチファイルはこんな感じ
:: delete echo off :: バックアップ先 SET BACK_DIR=c:\DropBox\backupCloud\recent :: 90日以前を削除 forfiles /p %BACK_DIR% /s /c "cmd /c if @isdir==FALSE del /s @path" /D -90 >bkdellog.txt :END

※削除したファイルをログ(bkdellog.txt)に出力しています。

あとは、このバッチファイルをタスクスケジューラに登録して完了です。

拡張するとすれば、コピー/削除の結果をメールでお知らせ、とかでしょうか。


※コピー/削除の処理をおこないます。自己責任でお試し下さいませ。