NAS間でバックアップを取るためにrobocopyを使用したいと思っています。
色々とオプションが設定できるという認識は持っていますが、/XO と/Eのオプションだけで差分バックアップをとっている状況です。
今後、copy先のディレクトリのみ使用する予定なので、タイムスタンプを比較して新しい、またはcopy先に存在しなければ転送してcopy元を削除、同じor古ければ何もせずにcopy元を削除ということをやりたいと思っています。
robocopyのみで実現可能でしょうか?
※もしbatファイルやVBSを使用しなければ不可能ということであればやり方を教えて下さい。
ファイルのみ削除する場合は「/MOV」を、フォルダも削除する場合は「/MOVE」を指定します。
/MOV :: ファイルを移動します (コピー後にコピー元から削除)。
/MOVE :: ファイルとディレクトリを移動します (コピー後にコピー元か
ら削除)。
コピー元に残ったファイルは、robocopy実行後に別の標準コマンドで削除するようにしてはいかがでしょう?
バッチファイルを使うと指定した順番で実行可能です。
※NASにコピーするのでしたら、以下のオプションも指定した方がいいかもしれません。(※NTFSフォーマットではない場合は必要なようです。)
/FFT :: FAT ファイル時間 (2 秒の粒度) を仮定します。
・日々のバックアップを手軽に取る方法(Robocopyを用いたbatファイル)
http://blog.clockahead.com/2013/12/robocopybat.html
※以下は一例です。(最低限必要と思われるオプションのみ指定)
-------- ここから --------
rem ROBOCOPYによるコピー
robocopy コピー元ディレクトリのパス コピー先ディレクトリのパス /E /MOV /XO /FFT
rem 残ったファイルを削除(※確認しないで削除)
del コピー元ディレクトリのパス /S /Q
-------- ここまで --------
※以下のオプションも必要になる場合もあるかもしれません。
/Z :: 再起動可能モードでファイルをコピーします。
/B :: バックアップ モードでファイルをコピーします。
/ZB :: 再起動可能モードを使用します。アクセスが拒否された場合、バックアップ モードを使用します。
※以下の記事を参考に、必要に応じて指定してみてください。
他のオプションについてもやや詳細な説明つきですので、参考になると思います。
・Windowsのrobocopyコマンドでファイルコピー中断後に自動再開させる
http://www.atmarkit.co.jp/ait/articles/1404/30/news110.html
・windowsのバックアップやファイルサーバー移行にオススメな標準コマンド「robocopy」の使い方、オプション説明
http://blog.putise.com/windows%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%82%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%A7%BB%E8%A1%8C%E3%81%AB%E3%82%AA%E3%82%B9/
・Robocopy (Robust File Copy for Windows)
http://pf-j.sakura.ne.jp/program/dos/doscmd/robocopy.htm