2TB 2TBの大きな外部ドライブへの3TBのデータのrsync


0

3TBの大きなハードドライブを2台の2TBのハードドライブに再同期することはできますか?
もしそうなら、コマンドはどのように見えるでしょうか?

そうでない場合、3TBのデータを2x 2TBドライブに同期する別のソリューションを考えられますか?私が考えることができる唯一の方法は、ファイルを手動でコピーすることです...しかし、この方法でrsyncのすべての力を失います:(

回答:


1

オプションには、宛先ドライブを単一ボリューム(RAID、LVM、btrfs ...)として設定するか、3TBドライブ上のデータのサブセットで2つのrsyncコマンドを実行することが含まれます。前者のオプションはジョブを単純にします(ターゲットは1つだけです)が、データにアクセスするには両方のドライブを接続する必要があるという欠点があります。後者は、サイズが2TB以下のフォルダーのセットを識別する必要があるが、各ターゲットドライブのデータに個別にアクセスできるため、もう少し努力が必要です。フォルダーのセットが3TBドライブのルートにあるいくつかのフォルダーよりも複雑な場合、rsyncコマンドを作成する最良の方法は、おそらくrsyncの--exclude-fromオプションを使用することです。


おかげで、私は2つの別々のrsyncコマンドを持つオプションが私が最終的に使用するものになると思います。不要なファイル/フォルダーを除外したテキストファイルを作成し、2番目のrsyncコマンドで同期します。テキストファイルでパターンを使用するには、入力A*するの'A*'ですか?このコマンドでは大文字と小文字が区別されますか?
jrn

1
大文字と小文字が区別されるため、ファイルを1行に1つずつリストします。du上記のコマンドと同じ形式を使用できます。aからnまでで始まるすべてのものに一致させるには、を使用します/[a-nA-N]。その形式のディレクトリのみを照合するには、それを作成し/[a-nA-N]/ます。先行する/は、転送のルートでのみ一致するようにし、サブフォルダーが誤って除外されないようにします。除外ファイルでは引用符は必要ありません(を使用--exclude-from)が--exclude=シェルがrsync自体ではなくパターンの解釈を停止するために使用する場合は、単一引用符が必要です。
ダラエル

0

1)最も簡単な方法:

3TBのデータが2TB未満のディレクトリにある場合、単純に2つのrsyncコマンドを使用します。
例えば

3TB ---1½TBのFolder1-> rsync ---> 2TBドライブ
         1½TBのFolder1-> rsync ---> 2TBドライブ

2)別の方法:
または、両方の2TBドライブを単一のボリュームとしてマウントします。たとえば、リニアモードまたはストライプまたはストレージスペース。(リニアモードは、両方のドライブをRAID0の形式で連結します。ストライプは、それらへの書き込みを交互に行います。)

3)代替案:
または、2番目の2TBドライブを最初のドライブのボリューム内のフォルダーにマウントします。


したがって、オプション1)では、A *からN *で始まるすべてのフォルダーをドライブ1にコピーし、O *からZ *のすべてのフォルダーをドライブ2にコピーするのは理にかなっていますか?この場合はexcludeを使用すると思います。
jrn

すべてのフォルダーのサイズがほぼ等しい場合:はい。
ヘネス

duを使用して、フォルダーa * -n *の合計サイズが<= 2TBであることを確認することをお勧めします-結局、それらは不均衡である可能性があります。 du -c [a-nA-N]*これを行います(名前がaからnまたはAからNで始まる現在のディレクトリ内のすべてのファイルとフォルダの合計サイズを報告します-他のフォルダの場合はを使用します/path/to/folder/[a-nA-N]*)。
ダラエル

0

前の回答は良いですが、ここでもう少し詳しく説明します。1)2台のドライブを別々に使用する(煩わしいが時々必要になる)

  • 2つの新しいドライブをマウントします
  • 最初にスペースの制約を把握する必要があります。df -h新しいドライブで使用可能なサイズを確認するために使用します
  • 転送するデータを含むフォルダーで、duコマンドを使用して、どのドライブに何が入るかを判断します。最も簡単で、おそらくアルファベット順になります
  • du -ch -d0これにより、最上位のフォルダーごとにスペースが表示されます。-d0表示する方法の深さです。に変更し-d1て、トップレベルのフォルダを表示し、次にサブレベルのフォルダスペースを表示します。
  • du -ch -d0 [0-9a-tA-T]*/これにより、0-9またはatまたはATに最初の文字が一致する最上位フォルダーにのみ一致する最上位フォルダーのスペースが表示されます。スペースの要件に最適な文字を見つけてください。
  • rsync --excludeコマンドで反対を使用します。この場合、私はを使用しますrsync --dry-run -av --exclude '/[u-zU-Z]*/' source destination--dry-runそれがよさそうであれば削除します。主要なこと/は、最上位フォルダーのみを示すことです。0-9がなくなっていることに注意してください。これはすべて一致させるためです。また、検索に使用duした反対の文字を照合しています。

2)レイドはとして駆動するraid0mdadm。次に、通常のrsyncコマンドを実行します。これらのドライブが一緒にいる必要があり、分離された場合、データが失われることを知ってください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.