robocopyのバックアップモードとは?管理者権限はいらないの?

robocopyを使う時に必ずと言っていいほど使用するのが,バックアップモードのオプションです。

robocopyに/Bをつけると,バックアップモードでバックアップができるようになります。

簡単に説明すると,バックアップモードでrobocopyすると,そのファイルに対してアクセス権がなかったとしても,ファイルをコピーできるようになるというオプションです。


管理者権限の意味がなくなるのでは?


そこで疑問に思うのが,バックアップモードを付けたらなんでもコピーできるのだとすれば,権限の意味がなくなってしまうのではないか,ということです。

でも大丈夫です。このrobocopyのバックアップモードを使うことができるのは,AdministratorsグループかBackup Operatorsグループに所属しているユーザーだけだからです。

Windowsでは,Administratorsグループに所属していたとしても,ファイルの権限設定によってはアクセスできないファイルがあります。

そのようなファイルに対して,ACE(アクセス制御エントリ)の内容にかかわらず,読み取り&書き込みの権限を付与するのが,バックアップモードと言えます。
続きを読む

WindowsからMacへのrobocopyでタイムスタンプがコピーできない場合の対処法

Windowsに付属するrobocopyコマンドは、ドライブのコピーなどを行う際に、堅実にコピーを行ってくれる強力なツールです。

しかし、WindowsからMacのドライブに対してrobocopyでデータを移行する際には、少しコツが必要です。


Macのドライブに対してタイムスタンプがコピーできない場合


WindowsとMacではタイムスタンプの扱い方が異なるために、ファイルの作成日時などがrobocopyコマンドでコピーされない場合があります。

そのような場合には、下記のrobocopyコマンドでコピーすることによって、タイムスタンプもコピーすることができます。

robocopy D:\Data\Source\ E:\Data\Target\ /MIR /R:1 /W:0 /ETA /TEE

上記のrobocopyコマンドの意味は、

  • D:\Data\Source\ フォルダを、E:\Data\Target\ フォルダにミラーリングコピー(全く同じデータを複製する)
  • エラー時のリトライは1回
  • リトライ時の待ち時間は0秒
  • コピー推定時間を表示
  • ログをコンソール画面に表示

  • このように、/MIR オプションでコピーすることによって、タイムスタンプが正常にコピーされました。

    /DCOPY:T /COPY:DAT などを使うと、逆にうまくいかない場合がありました。

    また、/SEC オプションをつけてセキュリティ情報をコピーしようとしても、Macのドライブに対してはエラーを引き起こす可能性があります。WindowsとMacではセキュリティ構造が違うからです。


    こうして、WindowsからMacのドライブに対して、robocopyコマンドで、タイムスタンプ情報を含めてファイルをコピーすることができました。