Programming Field

業務PCで定時に自動バックアップ - Windowsコマンド実用例

業務で使用しているPCのドキュメントフォルダーなどを、毎日定時にNASやその他ネットワークフォルダーなどへ自動バックアップすることで、万が一のトラブルに備える例です。以下のバッチファイルとタスクスケジューラ設定により、ユーザー操作なしで自動的に同期されます。

使用コマンド

バッチファイルの例

@echo off
setlocal
set LOGDIR=C:\backup\log
set SRCDIR=C:\Users\%USERNAME%\Documents
set DESTDIR=\\192.168.1.10\backup\%USERNAME%

if not exist "%LOGDIR%" mkdir "%LOGDIR%"
set TODAY=%date:~0,4%%date:~5,2%%date:~8,2%
robocopy "%SRCDIR%" "%DESTDIR%" /MIR /R:3 /W:10 /LOG+:%LOGDIR%\%TODAY%.log

これをメモ帳などで記述し、「C:\scripts\backup.bat」などと保存します。

タスクスケジューラへの登録

以下のコマンドで毎日18時に実行するタスクを登録します:

schtasks /Create /SC DAILY /TN "DailyBackup" /TR "C:\scripts\backup.bat" /ST 18:00 /RL HIGHEST /F

これをWindowsターミナルやコマンドプロンプト、あるいは「ファイル名を指定して実行」に入力して実行します。

補足事項

  • ネットワークドライブを使用する場合は、バッチ実行時にマウント済みである必要があります。
  • 権限エラーが出る場合は、/RU/RL オプションを活用し、管理者権限での実行を検討してください。
  • エラーログを監視する仕組み(例:メール通知やログ出力のパターンマッチ)を追加することで信頼性が向上します。

関連項目