Info kplace.plala.jpから移設しました
■目的
Windows 10データをNASに自動バックアップします。
今回はXcopyに代えてRobocopyコマンドを使います。
■Robocopy
Xcopyコマンド同様に、新規/更新ファイルをバックアップ先にコピーします。
上書きにより容量最小限で新規/更新/削除ファイルの簡易バックアップが可能ですが古い内容は残らない点に注意です。
また今回は書込先OSがLinuxのためXcopyではなくRobocopy /FFTオプションを使います。
/FFTオプションなしだと、システム間タイムスタンプの精度誤差で非更新ファイルでも一定割合で更新ファイルとみなされて不要な書込が生じます。
以下はコマンドのサンプルです。
ROBOCOPYのリファ
レンスページはこちら
> robocopy D:\Documents Y:\bk_d /S /E /XO /XF ~*.* /R:0
/W:0 /LOG:Y:\bk_d.log /XA:SH /FFT /NP /NDL /TEE /XJ /XJD /XJF
項目 |
設定値 |
logファイル |
Y:\bk_d.log |
COPY元 |
D:\Documents |
COPY先 |
Y:\bk_d\ |
除外指定 |
/XF ~*.* (一時ファイル除外)
|
オプション |
/S /E 空を含むサブフォルダ―
/XO 古いファイルを除く
/R:0 /W:0 再試行待ち時間を0にする
/LOG ログファイル指定
/XA:SH システムファイル/隠しファイル除外
/FFT タイムスタンプのずれ2秒を許容
/NP コピー進行状況を表示しない
/NDL ディレクトリ名をログに記録しない
/TEE ステータスをコンソールにも表示する
/XJ /XJD /XJF 接合点を除外する
|
■ログの保存
通常の指定ではログファイルは上書きされて最新ログしか残りません。
bk_d20141030.logのようにファイル名に日付を付加して上書きを回避します。
set dt=%date:~0,4%%date:~5,2%%date:~8,2%
robocopy ......./LOG:Y:\bk_d%dt%.log .....
■ログファイル
ログファイルのサンプルです。
-------------------------------------------------------------------------------
ROBOCOPY ::
Windows の堅牢性の高いファイル コ
ピー
-------------------------------------------------------------------------------
開始: 2021年5月19日 16:26:57
コピー元 : D:\Documents\
コピー先 : Y:\bk_d\
ファイル: *.* 除外ファイル: ~*.*
オプション: *.* /FFT /NDL /TEE /S /E /DCOPY:DA /COPY:DAT /NP /XO /XJ
/XA:SH /R:0 /W:0
------------------------------------------------------------------------------
新しいファイル
22016
D:\Documents\mypc\Label\FDラベルss3440.doc
新しいファイル
13312 D:\Documents\mypc\Label\fedora.lpd
新しいファイル
11264 D:\Documents\mypc\Label\fmv-a540b.lpd
新しいファイル
81408 D:\Documents\mypc\Label\fmv-d5390.lpd
―省略-
------------------------------------------------------------------------------
合計 コピー済み
スキップ
不一致 失敗
Extras
ディレクトリ:
6809
6808
1
0
0 0
ファイル:
73623
73591
32
0
0 0
バイト: 7.159
g 7.152 g 7.21
m
0
0 0
時刻: 1:30:51
1:03:35
0:00:00 0:27:16
速度:
2013057 バイト/秒
速度:
115.188 MB/分
終了: 2021年5月19日 17:57:49
■自動実行
コマンドをbatファイルにしてタスクスケジューラで実行時間などを指定します。
以下は基本タスクでの毎日22:00に実行の設定サンプルです。
項目 |
内容 |
トリガー |
毎日22:00に起動 |
操作 |
プログラムの開始
C:\win32app\script\robocopy.bat |
■結果
- PCデータのLINUX NASへの簡易自動バックアップに対応しました。
- Robocopyは最小限の容量で新規/更新/削除ファイルのバックアップを可能にします。
- Robocopyの/FFTオプションでタイムスタンプ精度による更新誤判定を回避します。
/mオプションも使えそうですがアーカイブビットの管理を要求されるので未検証。
- 1回目はフルバックアップで約30分/7GB、以降は増分でほぼ2分以内で終了です。
- ログファイル出力で実行結果はもちろんオプションや転送速度なども確認できます。