robocopy で WSL2でマウントしているフォルダをバックアップする

2024/05/08に公開

はじめに

  • Windows11 Pro + WSL2 (Ubuntu22.04) にて robocopy実行した際の備忘録です。

結論

Windowsエクスプローラーから\\wsl.localhost\(ディストリビューション名)でアクセスできるので、それをそのままrobocopyに渡せば、バックアップ可能です。

実行例

robocopy /MIR (Windowsから見たWSLディレクトリ) (バックアップ保管先のディレクトリ) を実行するだけです。

:: 例
robocopy /MIR "\\wsl.localhost\Ubuntu-22.04\my-work" "E:\Backups\Ubuntu-22.04\xxx" /MIR /EFSRAW /ZB /NP /R:1 /W:1 /IT /LOG:backup.log
  • 上記例で使用したオプションの紹介です。/W:1, /R:1 らへんはおまじないで入れておくことをお勧めします。(詳細は割愛)
    • /MIR: ミラーリングを行います。つまりコピー元のディレクトリ構造を完全にバックアップ先に反映させるイメージ。
    • /EFSRAW: 暗号化されたファイルを生の形式でコピー。
    • /ZB: バックアップモードでアクセスできないファイルは、再起動モードでコピーを試みます。
    • /NP: プログレスバーを非表示に。
    • /R:1: リトライ回数を1回に設定します。
    • /W:1: リトライ間のウェイトタイムを1秒に設定します。
    • /IT: チューニングされたファイルを含めてコピーします。
    • /LOG:backup.log: 操作のログをファイルに記録します。

Discussion