ロボ

解決!?robocopyで出力されるエラーと対応した方法について

#サーバ
written by クッキーさん

皆さんこんにちわ、クッキーさんです。
最近日中暖かくて夜寒いことが多く、軽装で外を出歩いたことを毎回後悔してるおじさんです。

さて今回は、データ移行に物凄く活用している「robocopy」で出力されるエラーと対応方法について説明してみたいと思います。

そもそもrobocopyって?

「ある場所(source)から別の場所(destination)にファイルデータをコピーする」コマンドのことです。
私がよく使うオプションとしては移行元、先や状況により異なりますが、

robocopy <source> <destination> /MIR /SL /IT /XJ /FFT /R:1 /W:1 /NP /XD "除外系"

をほぼ確実といっても過言ではないぐらい利用しています。
コマンドの構文や、オプションの詳細については書ききれないので、[Microsoft Docs]をご覧ください。

よくあるエラーと対応方法

ここからは、よく出る?エラーと、その時に対応した方法について説明します。
ケースバイケースかと思いますので、必ず解決できる!という保証ないので、ご了承下さい…。

無効なパラメータ(そもそも実行できてない)

原因:過去に遭遇したケースだと、移行元・先が両方ともWORKGROUP環境。
対応:タスクスケジューラから「最上位の特権で実行する」を有効にして実行したら、動きました。

アクセスが拒否されました。

エラーコード:エラー 5 (0x00000005)
原因:
移行元もしくは移行先にアクセス出来てない。
対応:NTFS権限(ACL)の問題なので、権限付与や見直しが必要です。

ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

エラーコード:エラー 123 (0x0000007B)
原因
:UNCパスで最大文字数(259文字)をオーバーしている。
対応:
文字数制限なので、そもそものファイル名/フォルダ名を変更する、もしくは非推奨ですが[8dot3name]をうまく利用するで解決可能。

指定されたアカウントは存在しません。

エラーコード:エラー 1317 (0x00000525)
原因:NTFS権限上、または所有者情報に、消されたドメインユーザ(SID形式)かローカルアカウントが存在する。
対応:ACLが原因で出力されているのであれば、無視して問題なし。
ただし、所有者情報が原因で出力されている場合はコピーされていない可能性があるので、オプションを「/COPY:DAT」等の[O]が抜けたコピーコマンドへ変更する。

まとめ

自身のナレッジとしても役立ちそうなので、直面したエラーや対応方法について説明してみました!
説明した方法がすべて正しいのかは、何とも言えないですが解決してるのできっと正しいと信じています…。

今後も基礎的ながら、ナレッジベースとして利用できそうなものをご紹介できればと考えております!

以上、クッキーさんでした。