Windowsのファイル自動バックアップ

HDDの故障等によって失われると困るデータって、誰にでもありますよね。
私も自炊したマンガのスキャンデータが失われると大変困るので、内蔵HDDから外付けHDDにバックアップしています。
しかしながら、自炊したデータは日々増えていくので手動でバックアップをするのも面倒。
なので、バッチファイルを作成してタスクスケジューラに登録し、PCが起動している間は変更差分を勝手に内蔵HDDから外付けHDDにバックアップしています。

転用すると「タブレットPCで作業中のデータを外付けHDDやNASが接続されたら自動的にバックアップ」といった使い方ができます。
# Surfaceが壊れてZBlushのデータがロストし、WF直前に大惨事になった某氏の様な事は避けられるはずです。

今回は、そのやり方をご紹介したいと思います。
なお、フォルダの指定を間違ったりした場合は、データが消える可能性もありますので、慎重に作業しましょう。
読んでみて「やっぱわかんねーな」って人は、ねんど会等で聞いて下さいw

# 実行にはrobocopyというツールが必要です。
# コマンドプロンプトでrobocopyと実行してみると導入されているかわかります。
# (最近のWindowsだと標準で入ってるっぽい?)

1.準備編

  • ログ保存先フォルダ  例:C:\LOG
  • バッチファイル名  例:Manga_Sync
  • バッチファイルPATHの決定  例:C:\Batch\Manga_Sync.bat
  • バックアップ元フォルダの決定  例:D:\000_マンガ
  • バックアップ先フォルダの決定  例:F:\000_マンガ
  • バックアップサイクル  例:15分

2.バッチファイル作成編

以下の内容をバッチファイルへ書き込みます。
※印の所は、環境によって変わる可能性があります。
#印の所は、「1.準備編」の内容に書き換える箇所です。
※印や#印等のコメントは削除してくださいね。

set ROBOEXE="C:\Program Files (x86)\Windows Resource Kits\Tools\robocopy.exe" ※

set LOGDIR=H:\LOG    #ログ保存フォルダ
set OWN=Manga_Sync    #バッチファイル名
set FROM=D:\000_マンガ  #バックアップ元フォルダ
set TO=F:\000_マンガ   #バックアップ先フォルダ
set MOT=15        #バックアップサイクル
set WAIT=60
set PINGW=60

set LOG=%LOGDIR%\%OWN%.log
ECHO ################ START ################ > %LOG%
ECHO 実行者:%USERNAME% %DATE% %TIME% >> %LOG%

:SyncRestart
ECHO ################ RESTART ################ >> %LOG%
ECHO %DATE% %TIME% >> %LOG%

%ROBOEXE% %FROM% %TO% /MIR /MOT:%MOT% /W:%WAIT% /Z /TBD /NP /NDL /R:0 /LOG+:%LOG%

set errornum=%errorLevel%
echo ERROR LEVEL = %errornum% >> %LOG%

ping /n %WAIT% localhost >> %LOG%

goto :SyncRestart

3.タスクスケジューラ登録編

「タスクスケジューラの基本的な使い方(Windows 7/8.x/10編)」を参考にしてください。

  • ⑤タスクトリガー:コンピュータの起動時
  • ⑬プログラムの開始 プログラム/スクリプト:作成したバッチファイルを指定

ログオフ中でもバックアップしたい場合は、「ログオフ中でもタスクを起動させる方法」を参考にしてください。

  • ③を選択する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です