0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windowsのコマンドプロンプト(bat)でrobocopyによるミラーリングバックアップ

Posted at

概要

余計なソフトを入れずにWindowsの標準機能 = コマンドプロンプト(bat)でミラーリングバックアップしたい。

サンプル

robocopy "C:\unko\from" "C:\unko\to" /mir /log:C:\unko\mirror.log /r:1 /w:1

『C:\unko\to』フォルダーの中身を『C:\unko\from』と同じにします。
/mir は『ミラーリングしろ』という指定です。
『C:\unko\mirror.log』にログを出力。
/r:1 は失敗したコピーに対する 再試行回数 です。
/w:1 再試行と再試行の待機時間です。

再試行オプションに注意

下記のような仕様になっているので、適切に設定しないと 何度も再試行していつまで経っても終わらない ということになってしまうかも…。

image.png

オプション全般

robocopy にはオプションがたくさんあるので、下記コマンドで調べて自分に合ったコマンドを作ると〇。

robocopy /?
robocopy /?の結果
-------------------------------------------------------------------------------
   ROBOCOPY     ::     Windows の堅牢性の高いファイル コピー                              
-------------------------------------------------------------------------------

  開始: 2024年7月28日 15:59:06
              使用法:: ROBOCOPY コピー元 コピー先 [ファイル [ファイル]...]

                       [オプション]

           コピー元 :: コピー元ディレクトリ (ドライブ:\パスまたは \\サーバー

                       \共有\パス)。
           コピー先 :: コピー先ディレクトリ (ドライブ:\パスまたは \\サーバー

                       \共有\パス)。
           ファイル :: コピーするファイル (名前/ワイルドカード: 既定値は「*.*」

                       です)

::
:: コピー オプション:
::
                 /S :: サブディレクトリをコピーしますが、空のディレクトリはコピ

                       ーしません。
                 /E :: 空のディレクトリを含むサブディレクトリをコピーします。
             /LEV:n :: コピー元ディレクトリ ツリーの上位 n レベルのみをコピーし

                       ます。

                 /Z :: 再起動可能モードでファイルをコピーします。
                 /B :: バックアップ モードでファイルをコピーします。
                /ZB :: 再起動可能モードを使用します。アクセスが拒否された場合、

                       バックアップ モードを使用します。
                 /J :: バッファーなし I/O を使用してコピーします (大きなファイル

                       で推奨)。
            /EFSRAW :: 暗号化されたすべてのファイルを EFS RAW モードでコピーし

                       ます。

 /COPY:コピーフラグ :: ファイルにコピーする情報 (既定値は /COPY:DAT)。
                       (copyflags : D=データ、A=属性、T=タイムスタンプ、X=代替データ ストリームをスキップ (/B または /ZB の場合は X は無視されます)。
                       (S= セキュリティ =NTFS ACL、O= 所有者情報、U= 監査情報)。

 
               /SEC :: セキュリティと共にファイルをコピーします (/COPY:DATS と

                       同等)。
           /COPYALL :: ファイル情報をすべてコピーします (/COPY:DATSOU と同等)。
            /NOCOPY :: ファイル情報をコピーしません (/PURGE と共に使用すると便

                       利)。
            /SECFIX :: スキップしたファイルも含むすべてのファイルのファイル セ

                       キュリティを修正します。
            /TIMFIX :: スキップしたファイルも含むすべてのファイルのファイル時刻

                       を修正します。


             /PURGE :: 既にコピー元に存在しないコピー先のファイル/ディレクトリ

                       を削除します。
               /MIR :: ディレクトリ ツリーをミラー化します (/E および /PURGE と

                       同等)。

               /MOV :: ファイルを移動します (コピー後にコピー元から削除)。
              /MOVE :: ファイルとディレクトリを移動します (コピー後にコピー元か

                       ら削除)。

     /A+:[RASHCNET] :: コピーされたファイルに指定の属性を追加します。
     /A-:[RASHCNETO] :: コピーされたファイルから指定の属性を削除します。

            /CREATE :: ディレクトリ ツリーと長さ 0 のファイルのみを作成します。
               /FAT :: 8.3 FAT ファイル名のみを使用してコピー先ファイルを作成し

                       ます。
               /256 :: 256 文字を超える非常に長いパスのサポートをオフにします。

             /MON:n :: コピー元を監視し、n 回を超える変更があった場合に再度実行

                       します。
             /MOT:m :: コピー元を監視し、m 分後に変更があった場合に再度実行

                       します。

      /RH:hhmm-hhmm :: 実行時間 - 新しいコピーを開始できる時刻です。
                /PF :: 実行時間をファイルごと (パスごとではない) に確認します。

             /IPG:n :: 低速回線で帯域幅を解放するためのパケット間ギャップ (ミリ

                       秒)。

                /SJ :: 接合のターゲットとしてではなく接合として Junctions をコピーします。
                /SL:: リンクのターゲットとしてではなくリンクとしてシンボリック リンクをコピーします。

            /MT[:n] :: n 個のスレッドのマルチスレッド コピーを実行します (既定値 8)。
                       n は 1 から 128 までの値である必要があります。
                       このオプションは、/IPG および /EFSRAW オプションと互換性がありません。
                       パフォーマンス向上のため、/LOG オプションを使用して出力をリダイレクトします。

/DCOPY:コピーフラグ :: ディレクトリにコピーする情報 (既定値は /DCOPY:DA)。
                       (copyflags : D=データ、A=属性、T=タイムスタンプ、E=EA、X=代替データ ストリームをスキップ)。

           /NODCOPY :: ディレクトリ情報をコピーしません (既定では /DCOPY:DA が実行されます)。

         /NOOFFLOAD :: Windows のオフロードをコピーするメカニズムを使用せずに、

                       ファイルをコピーします。

          /COMPRESS :: ファイル転送中にネットワーク圧縮を要求します (適用可能な場合)。

            /SPARSE :: コピー中にスパース状態を保持できるようにする
::
:: ファイル調整オプションをコピーします:
::
  /IoMaxSize:n[KMG]:: {read,write} サイクルあたりの最大 i/o サイズが要求されました。(n [KMG] バイト
)
     /IoRate: n [KMG]:: 要求された i/o レート (n [KMG] バイト/秒)。 

  /しきい値: n [KMG]:: 調整のためのファイルサイズのしきい値です。 n [KMG] バイト (「解説」を参照)。 

::
:: ファイル選択オプション:
::
                 /A :: アーカイブ属性が設定されているファイルのみをコピーしま

                       す。
                 /M :: アーカイブ属性のあるファイルのみをコピーし、リセットしま

                       す。
    /IA:[RASHCNETO] :: 指定されたいずれかの属性が設定されているファイルのみを含

                       みます。
    /XA:[RASHCNETO] :: 指定されたいずれかの属性が設定されているファイルを除外し

                       ます。

/XF file [ファイル]... :: 

                       指定された名前/パス/ワイルドカードに一致するファイルを

                       除外します。
/XD dir [ディレクトリ]... :: 

                       指定された名前/パスに一致するディレクトリを除外します。

                /XC :: 変更されたファイルを除外します。
                /XN :: 新しいファイルを除外します。
                /XO :: 古いファイルを除外します。
                /XX :: コピー先にだけ存在するファイルとディレクトリを除外し

                       ます。
                /XL :: コピー元にだけ存在するファイルとディレクトリを除外し

                       ます。
                /IS :: 同一ファイルを含みます。
                /IT :: 異常なファイルを含めます。

             /MAX:n :: 最大ファイル サイズ - n バイトより大きいファイルを除外し

                       ます。
             /MIN:n :: 最小ファイル サイズ - n バイトより小さいファイルを除外し

                       ます。

          /MAXAGE:n :: 最長ファイル有効期間 - n 日より古いファイルを除外します。
          /MINAGE:n :: 最短ファイル有効期間 - n 日より新しいファイルを除外しま

                       す。
          /MAXLAD:n :: 最大最終アクセス日 - n で指定する値以後に使用していない

                       ファイルを除外します。
          /MINLAD:n :: 最小最終アクセス日 - n で指定する値以後に使用されたファ

                       イルを除外します。
                       (n < 1900 の場合、n = n 日です。それ以外は、n = YYYYMMDD

                       の日付です)。

               /FFT :: FAT ファイル時間 (2 秒の粒度) を想定します。
               /DST :: 1 時間の DST 時間差を補正します。

                /XJ:: シンボリック リンク (ファイルとディレクトリの両方) と接合ポイントを除外します。
               /XJD:: ディレクトリのシンボリック リンクと接合ポイントを除外します。
               /XJF :: ファイルのシンボリック リンクを除外します。

                /IM :: 変更されたファイルを含めます (変更日時が異なる)。
::
:: 再試行オプション:
::
               /R:n :: 失敗したコピーに対する再試行数: 既定値は 1,000,000。
               /W:n :: 再試行と再試行の間の待機時間: 既定値は、30 秒です。

               /REG :: /既定の設定としてレジストリに R:n と /W:n を保存します。

               /TBD :: 共有名が定義されるのを待ちます (再試行エラー 67)。

               /LFSM :: 空き領域不足モードで動作し、コピーの一時停止と再開を有効にします (「注釈」を参照)。

        /LFSM:n[KMG] :: /LFSM、 下限サイズを n [K:kilo,M:mega,G:giga] バイトで指定します。

::
:: ログ オプション:
::
                 /L :: リストのみ - いずれのファイルにも、コピー、タイムスタン

                       プの追加、または削除を実施しません。
                 /X :: 選択されたファイルのみではなく、余分なファイルをすべて報

                       告します。
                 /V :: スキップされたファイルを示す詳細出力を作成します。
                /TS :: 出力にコピー元ファイルのタイム スタンプを含めます。
                /FP :: 出力にファイルの完全なパス名を含めます。
             /BYTES :: サイズをバイトで出力します。

                /NS :: サイズなし - ファイル サイズをログに記録しません。
                /NC :: クラスなし - ファイル クラスをログに記録しません。
               /NFL :: ファイル リストなし - ファイル名をログに記録しません。
               /NDL :: ディレクトリなし - ディレクトリ名をログに記録しません。

                /NP :: 進行状況なし - コピーの完了率を表示しません。
               /ETA :: コピーするファイルの推定完了時刻を表示します。

      /LOG:ファイル :: ログ ファイルに状態を出力します (既存のログを上書きしま

                       す)。
     /LOG+:ファイル :: ログ ファイルに状態を出力します (既存のログ ファイルに

                       追加します)。

   /UNILOG:ファイル :: ログ ファイルに UNICODE で状態を出力します (既存のログを

                       上書きします)。
  /UNILOG+:ファイル :: ログ ファイルに UNICODE で状態を出力します (既存のログに

                       追加します)。

               /TEE :: コンソール ウィンドウとログ ファイルに出力します。

               /NJH :: ジョブ ヘッダーがありません。
               /NJS :: ジョブ要約がありません。

           /UNICODE :: 状態を UNICODE で出力します。

::
:: ジョブ オプション:
::
      /JOB:ジョブ名 :: 名前の付いたジョブ ファイルからパラメーターを取得します。
     /SAVE:ジョブ名 :: 名前の付いたジョブ ファイルにパラメーターを保存します。
              /QUIT :: コマンド ラインの処理後に終了します (パラメーターの表示の

                       ため)。 
              /NOSD :: コピー元ディレクトリを指定しません。
              /NODD :: コピー先ディレクトリを指定しません。
                /IF :: 後続のファイルを含みます。

::
:: 注釈 :
::
       ボリュームのルート ディレクトリに対して /PURGE または /MIR を使用すると、これまでは、
       robocopy は要求された操作をシステム ボリューム情報ディレクトリ内のファイル
       にも適用していました。この動作は変更されました。
       どちらかを指定すると、robocopy はその名前を持つファイルまたはディレクトリを
       (コピー セッションの最上位レベルのソースと宛先ディレクトリで) スキップします。

       変更されたファイルの分類は、コピー元とコピー先両方の 
       ファイル システムが変更タイムスタンプ (NTFS など) をサポートしていて、 
       コピー元とコピー先のファイルの変更日時が異なり、しかし 
       それ以外は同じ場合に適用されます。これらのファイルは既定ではコピーされません。/IM を指定して、
       それらを含めます。

       /DCOPY:E フラグは、拡張属性コピーを
       ディレクトリに対して試行することを要求します。現時点では robocopy が継続されます
       (ディレクトリの EA をコピーできなかった場合)。このフラグは
       /COPYALL 内。

       /IoMaxSizeまたは/IoRate が指定されている場合、robocopy は 以下 を有効にします 
       ファイルの調整をコピーします (システム負荷を減らすための目的)。 
       両方とも、許容値または最適値に調整できます。つまり、両方の 
       必要なコピーパラメーターを指定していますが、システムと robocopy は 
       必要に応じて、これらの値を妥当/許容される値に調整し ます。 
       /Threshold も使用されている場合は、以下の最小ファイルサイズを指定します。 
       調整に従事することを可能にしています;そのサイズは調整されません。 
       3つのすべてのパラメーターの値の後に省略可能なサフィックスを指定することができ る場合もあります
       セット [KMG] (キロ、メガ、giga) の文字。

       /LFSM を使用することで、robocopy に '空き領域不足モード' での動作を要求します。 
       このモードでは、次の場合に robocopy が一時停止します。すなわち、ファイルのコピーによって 以下が生じる場合
       コピー先ボリュームの空き領域が '下限' 値を下回る場合です。この値は 
       フラグの LFSM:n[KMG] 形式によって明示的に指定できます。
       /LFSM が明示的な下限値なしで指定されている場合、下限は 
       コピー先ボリュームのサイズの10%。
       空き領域不足モードは、/MT、/EFSRAW と互換性がありません。

参考サイトさん

バージョン

Microsoft Windows [Version 10.0.22631.3880]

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?