robocopyのバックアップについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
初学者

robocopyのバックアップについて

#1

投稿記事 by 初学者 » 9年前

このようにバッチファイルに記述して、ダブルクリックすると

robocopy "C:\Users\ユーザー名\Desktop\新しいフォルダー" "C:\Users\ユーザー名\Desktop\新しいフォルダー (2)" /LOG:"C:\Users\ユーザー名\Desktop\backup.log" /DCOPY:DAT /COPY:DAT /MIR /R:0 /W:0 /TEE /XJD /XJF



できあがったbackup.logには、このようになります。

オプション: *.* /TEE /S /E /DCOPY:DAT /COPY:DAT /PURGE /MIR /XJF /XJD /R:0 /W:0



指定していないものまで、オプションに含まれるのは、気持ち悪いのですが、問題ないでしょうか?


1
robocopyの【/E /PURGE】オプションと、【/MIR】オプションについて - rob... - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa ... 1112158514...

/E /PURGEが指定していないのに含まれるのは、問題ないでしょうか?


2

/S が指定していないのに含まれるのは、問題ないでしょうか?

3
/XJF /XJDはとりあえずつけておきましょうと書いてあったので、その通りにしましたが、本当に必要なのでしょうか?できるだけ、シンプルに記述したいと思っています

パソコンのファイルをrobocopyで手堅くバックアップする方法 | パソコンのバックアップ方法まとめ [あまおとろぐ]
http://amaotolog.com/backup/entry187.html

4
/R:0 /W:0はとりあえずつけておきましょうと書いてあったので、その通りにしましたが、本当に必要なのでしょうか?できるだけ、シンプルに記述したいと思っています。

とくに、デフォルトでは、/R:1,000,000 /W:30 という値が設定されていて、一見ものすごく大きい値ですが、microssoftがこのような値にしているのにも、何か理由があるのではないかと思います。microssoftミスなのでしょうか?


よろしくお願いします。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: robocopyのバックアップについて

#2

投稿記事 by YuO » 9年前

初学者 さんが書きました:指定していないものまで、オプションに含まれるのは、気持ち悪いのですが、問題ないでしょうか?
基本的に,他と同等だったり,意味的に含まれる物が追加されているようですが。
問題あるかどうかは,初学者さんがどう考えるか次第です。
初学者 さんが書きました:/E /PURGEが指定していないのに含まれるのは、問題ないでしょうか?
ちゃんと,

コード:

robocopy /?
とやって,robocopyのヘルプを確認しましたか。
/MIRと/E /PURGEは同等だと書いてありますよ。
初学者 さんが書きました:/S が指定していないのに含まれるのは、問題ないでしょうか?
/E。
初学者 さんが書きました:/XJF /XJDはとりあえずつけておきましょうと書いてあったので、その通りにしましたが、本当に必要なのでしょうか?できるだけ、シンプルに記述したいと思っています
ジャンクションをどう取り扱いたいかに依存するので,「とりあえずつけておく」ものではないです。

ジャンクションの先がコピー内容に含まれるのであれば除外した方がよいでしょうし,
ジャンクションの先がコピー内容に含まれないのであれば,コピーした方がよいかもしれません。
初学者 さんが書きました:/R:0 /W:0はとりあえずつけておきましょうと書いてあったので、その通りにしましたが、本当に必要なのでしょうか?できるだけ、シンプルに記述したいと思っています。
これも失敗したときの考え方を反映させる物なので,「とりあえずつけておく」ものではないです。

/W:0ではあまり意味がありません。
失敗した直後に再試行した場合,通常は失敗の原因が取り除かれていないからです。
/R:0は,どういうコピーをしたいのかによります。失敗したらコピーしないでよいのであれば,/R:0でよいでしょう。

初学者

Re: robocopyのバックアップについて

#3

投稿記事 by 初学者 » 9年前

ありがとうございます。



5

教えて頂いた通り、robocopy /?で調べましたが、/Sと/Eが両方同時に存在するのは、矛盾するような気がするのですが、この認識は間違っているでしょうか?

/S :: サブディレクトリをコピーしますが、空のディレクトリはコピーしません。
/E :: 空のディレクトリを含むサブディレクトリをコピーします。




6

ハードリンクとシンボリックリンクという言葉は、どうにか理解しましたが、ジャンクションの意味がいまいち分かりません。

私がバックアップしたいのは、プログラムではなくデータです。.mp4 .mp3 .html .log .bat などのデータです。

本来はDドライブを丸々バックアップしたいと思っています。そのDドライブの中には、たくさんフォルダが含まれますが・・・



>ジャンクションの立ち位置は ハードリンクとシンボリックリンクの間です

>ところで シンボリックリンクとショートカットはフォルダでもファイルでも使えますが ハードリンクはファイルのみ ジャンクションは フォルダのみとなっています

ジャンクションが便利
http://var.blog.jp/archives/49781846.html



Windows 7 / 8 / Vista / 2008の場合、このパラメータがないと、
変な特殊ファイルが大量にコピーされてしまいます。
必ずパラメータに指定してください!

パソコンのファイルをrobocopyで手堅くバックアップする方法 | パソコンのバックアップ方法まとめ [あまおとろぐ]
http://amaotolog.com/backup/entry187.html#s13


windows10を使っています。さらに、別に余計なものが大量にコピーされても、容量を食わなかったり、バックアップの時間が変わらないのであれば、問題ありません。

結局、/XJF /XJDは、私の場合必要なのでしょうか?




7

>/W:0ではあまり意味がありません。

教えて頂いた通り、/W:はW:0でなく、デフォルトの/W:30 にします。

/R:もよくわからないので、デフォルト(/R:1,000,000)が無難なのかなと思っていますが、デフォルトにすると、バックアップが、大幅に遅くならないでしょうか?

たとえば、1MBのファイル1つを、を百万回リトライするのは、どれぐらい時間がかかるのでしょうか?

Microsoftは、どのような意図で、デフォルト(/R:1,000,000)にしているのでしょうか?




よろしくお願いします。

初学者

Re: robocopyのバックアップについて

#4

投稿記事 by 初学者 » 9年前

ド素人の私が判断すると、このブログを書いている方は、正しいように思える一方で、microsoftが百万回にした理由にも、意味があると思うのです。

<メモ>
指定しない場合、既定値の1,000,000が使われます。
そんな回数を再試行されても困りますので、明示的に指定しておきましょう。
とりあえずは、/R:0 で問題ありません。

パソコンのファイルをrobocopyで手堅くバックアップする方法 | パソコンのバックアップ方法まとめ [あまおとろぐ]
http://amaotolog.com/backup/entry187.html#s13


robocopyのroboは、
robust(堅牢な)のrobo(robu?)です。

ロボットのロボではありません。


いくら堅牢であるというコンセプトだとしても、1,000,000にすると、時間がかかりすぎるなど、非現実的であれば、microsoftも、もっと少ない値にすると思うのですが・・・

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: robocopyのバックアップについて

#5

投稿記事 by YuO » 9年前

こういう場で「デフォルト設定の意図」を聞いても無駄です。
それが公開されている場合を除いて,「意図の予想」しかできないので。
初学者 さんが書きました:調べましたが、/Sと/Eが両方同時に存在するのは、矛盾するような気がするのですが、この認識は間違っているでしょうか?
たぶん,内部のフラグの持ち方の都合でしょう。
初学者 さんが書きました:ハードリンクとシンボリックリンクという言葉は、どうにか理解しましたが、ジャンクションの意味がいまいち分かりません。
  • 単一の実体に複数の名前
    • ハードリンク
  • 実体への参照
    • ジャンクション
      →対象はローカルのみ,ネットワーク経由のアクセスではサーバー側で再解析を行う。ドライブのディレクトリへのマウントもこの一種 (IO_REPARSE_TAG_MOUNT_POINT)。
      Windows 2000以降。
    • シンボリックリンク
      →対象はローカルとネットワーク,ネットワーク経由のアクセスではクライアント側で再解析を行う(ref: fsutil behavior set symlinkevaluation)。
      Windows Vista/Server 2008以降。
    • シェルリンク
      →対象はローカルとネットワーク。ジャンクションやシンボリックリンクと違いファイルシステムは関与せず,シェルが解釈する。
初学者 さんが書きました:結局、/XJF /XJDは、私の場合必要なのでしょうか?
そもそもジャンクションやシンボリックリンクを知らなかったのであれば,
当然ジャンクションやシンボリックリンクなんて使っていないでしょうし,
そうすると存在するのは%UserProfile%以下くらいになります。
# 互換性のためにジャンクションがたくさんある。
%UserProfile%は通常Cドライブなので,Dドライブにはジャンクション等は存在しないことになります。
であれば,付けても付けなくても一緒だと思います。
初学者 さんが書きました:/R:もよくわからないので、デフォルト(/R:1,000,000)が無難なのかなと思っていますが、デフォルトにすると、バックアップが、大幅に遅くならないでしょうか?
たとえば、1MBのファイル1つを、を百万回リトライするのは、どれぐらい時間がかかるのでしょうか?
どの程度失敗するかによります。

通常,ローカルドライブのファイルの読み取りに失敗することはありません。
このため,/R:0だろうが/R:1000000だろうが一度目の試行でファイルをコピーできます。

しかし,例えば対象がネットワークに存在するファイルで,ネットワークが不安定な場合などには読み取りに失敗することがあります。
何度試行するかは失敗の原因によるため,平均の試行回数は失敗の原因やその確率に依存します。
そして,試行にかかる時間は,平均の試行回数に依存します。

なお,単純に1000000回リトライする場合 (=1000001回試行する) 場合にかかる時間は,
「コピーを開始して失敗と判断されるまでの平均時間」×1000001+「リトライにかかる時間(/Wの値)」×1000000
です。

初学者

Re: robocopyのバックアップについて

#6

投稿記事 by 初学者 » 9年前

何度もありがとうございます。



8

このサイトでは、/MIR = /S /PURGE  だと書いてあるように思われます。以下引用です。信憑性は疑問ですが・・・

Tech TIPS:Windowsのrobocopyコマンドでフォルダーをバックアップ/同期させる - @IT
http://www.atmarkit.co.jp/ait/articles/ ... ws130.html

 余分なファイルを削除させたくなければ、/mirではなく、/s(サブフォルダーのコピー)を指定する(余分なファイルを削除する/purgeと/sを組み合わせたものが/mirオプションになっている)。



robocopy /? では、/MIR = /E /PURGE  だと書いてあるように思われます。以下引用です。

/S :: サブディレクトリをコピーしますが、空のディレクトリはコピーしません。
/E :: 空のディレクトリを含むサブディレクトリをコピーします。



つまり、/MIR = /S /PURGE = /E /PURGE = /S /E /PURGE と考えてよいでしょうか?



9

>そうすると存在するのは%UserProfile%以下くらいになります。

Firefoxのバックアップでこのディレクトリのバックアップを取ったり、
C:\Users\ユーザー名\AppData\Local\Mozilla\Firefox\Profiles.

iTunesなども、C:\Users\ユーザー名\AppData\ からバックアップを取っていました。ほかのパソコンでも、このままコピペして使いたいです。

結局、/XJF /XJDは、私の場合、不要なのでしょうか?




10

>「コピーを開始して失敗と判断されるまでの平均時間」×1000001+「リトライにかかる時間(/Wの値)」×1000000

とりあえず、デフォルト(/R:1,000,000 /W:30)でやってみようと思います。

デフォルトの/W:30とすると、何千年もかかるので、microsoftは、デフォルトでは、一回でもエラーが起こったら、見逃さないような、堅牢な仕様にしたと「推測」してよいでしょうか?

robocopy - 個人的によく使うオプションメモ : 備忘録
http://golorih.exblog.jp/21438298

/R:3
 3回リトライ。
 既定値は100万回なので、ディスクエラーがあると終わらなくなる。
/W:3
 失敗時に3秒待機。
 既定値は30秒なので、上記オプションと合わせ技で死ねる。



11

ちなみに、Firefoxを起動中に、robocopyを実行したら、エラーになるでしょうか?

このとき、デフォルト(/R:1,000,000 /W:30)にしてたら、終わらないでしょうか?



よろしくお願いします。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: robocopyのバックアップについて

#7

投稿記事 by YuO » 9年前

何が知りたいのかが見えないのですが,結局自分が欲しいものが出てくるように試せばいいのではないでしょうか。
元データが壊れるわけではないのですから,何度も聞くくらいなら試してしまった方がよいと思いますよ。

初学者

Re: robocopyのバックアップについて

#8

投稿記事 by 初学者 » 9年前

ありがとうございます。

試してみることにより、ほとんど解決できました。

しかし、1点だけ、今まだとは異なる問題が発生しました。

たとえば、「robocopy "D:" "S:" /MIR 」のようなコマンドを書いたバッチファイルをrobocopy.batとすると、これを置く場所によって、結果が異なります。

robocopy.batをCドライブに置くと、うまくいきますが、robocopy.batをDドライブに置くと、うまくいきません。

たとえば、D:\test\test\robocopy.batというところに、robocopy.batをおくと、S:は、D:\test\test\だけがミラーリングさてしまいます。

コマンドプロンプトではバッチファイルの保存場所は、処理に影響を与えますか?

よろしくお願いします。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: robocopyのバックアップについて

#9

投稿記事 by YuO » 9年前

初学者 さんが書きました:コマンドプロンプトではバッチファイルの保存場所は、処理に影響を与えますか?
作り方に依ります。

パス C: は,ドライブCのカレントディレクトリの指定であって,ドライブCのルートディレクトリの指定ではありません。
そのあたりの勘違いをしていませんか。

初学者

Re: robocopyのバックアップについて

#10

投稿記事 by 初学者 » 9年前

大体解決しました。

ありがとうございました。終了させて頂きます。

以下は自分用のメモです。

パソコンのファイルをrobocopyで手堅くバックアップする方法 | パソコンのバックアップ方法まとめ [あまおとろぐ]
http://amaotolog.com/backup/entry187.html#s13

Command Technica:はじめてrsyncを使う方が知っておきたい6つのルール (1/2) - ITmedia エンタープライズ
http://www.itmedia.co.jp/enterprise/art ... ws013.html

【FreeBSD】ファイルのバックアップ/ミラーリングをする (rsync)
http://www.kishiro.com/FreeBSD/rsync.html

閉鎖

“C言語何でも質問掲示板” へ戻る