ダブル

ダブル

あるドライブから別のドライブにバックアップを実行するためにrsyncを使用しています。私は2つのソースとターゲットディレクトリを持っていますが、単一のコマンドを使用して動作させる方法がわかりません。現在、フルバックアップを実行するために2つの別々のコマンドを実行しています。

ソースディレクトリは別のマウントポイントです:/mnt/ssd_ext4/mnt/ssd_ntfs。ターゲットドライブに一致するマウントポイントがあります/mnt/backup_ext4/mnt/backup_ntfs

完全なコマンドは次のとおりです。

rsync -aAXUxv --no-l --no-D --delete --info=progress2,stats2 --debug=FILTER --exclude-from=/home/xxx/excludelist.txt /mnt/ssd_ext4/ /mnt/backup_ext4

そして

rsync -aAXUxv --no-l --no-D --delete --info=progress2,stats2 --debug=FILTER --exclude-from=/home/xxx/excludelist.txt /mnt/ssd_ntfs/ /mnt/backup_ntfs

単一のコマンドでこれを行うための賢い方法はありますか?


編集する:

代替案をご提案いただきありがとうございます。しかし、本当に単一のコマンドが必要です。その事実を把握したら、sshを介してrsyncを使用し、「force command」オプションをsshキーにバインドします。この方法では、単一のコマンドのみをマッピングできます。質問を単純化しようとするこの内容については言及していません。

ベストアンサー1

Rsyncは次のようなことに優れています。rsync src1 src2 ... srcN dest_dir/

デフォルトでは、単一呼び出しでは単一の宛先ディレクトリにのみバックアップできます。どちらのターゲットもrsyncプロトコルを別々に2回実行する必要があります。これを効率的に行うために独自のプロトコルを作成できますが、試してテストされたrsyncプロトコルではありません。

2 組のソースディレクトリとターゲットディレクトリがあります。

「force command」オプションを使用してsshを介してrsyncを使用します。

「2つのターゲット」要件は、Stock rsyncの使用と互換性がありません。目的地が 1 つだけあるように 1 段階上に移動することを検討してください。

たとえば、tar呼び出しごとに無条件にすべてのビットを送信する単純なパイプを使用すると、次のようになります。

cd /mnt && tar zcf - ssd_ext4/ ssd_ntfs/ |
  ssh server 'cd /mnt && tar zxvf -'

名前変更中だから

  • ssd_ext4-->backup_ext4そして
  • ssd_ntfs-->backup_ntfs

最初は、サーバーで「シンボリックリンクを使用して問題を解決する」必要がありました。

cd /mnt
mkdir -p backup_{ext4,ntfs}
ln -s backup_ext4 ssd_ext4
ln -s backup_ntfs ssd_ntfs

私はrsyncが同様の配列に従うように説得できると思います。私はこのような難関を乗り越える機会がなく、シンボリックリンク処理は特別に扱われる傾向があります。本番環境で問題を引き起こす前に、QA環境で慎重にテストしてください。


ダブル

サーバーからmkdir double_dest

これで、一部のビットが宛先に達したときにネットワーク帯域幅を効率的に利用するrsyncの機能を利用して、rsync2つのソースディレクトリをこのディレクトリに接続できます。double_dest/

rsyncが完了した後、サーバーはdouble_dest /からこれらのビットの終わりまで他のローカルディスク間でrsyncを自由に実行できます。ローカルレプリケーションを実行すると、誤ったネットワーククライアントが意図した場所を超えて書き込む危険性が減り、必要に応じて悪用される可能性がありchroot()ます。しかし、これは「デュアルストレージ」という対価を払います。おそらく安価な回転式ウィンチェスターディスクの形で2倍のストレージを購入する必要があります。


要件エンジニアリング

本当に1つのコマンドが必要です。それを見つけたら、「force command」オプションと一緒にssh経由のrsyncを使用します。

いいえ、単一のコマンドは必要ありません。要件文書の一部として「単一コマンド」を含めることを選択できますが、これによりソリューションの実装コストが増加する傾向があります。

あなたの前にはすでに準備されたソリューションがあります。単一の強制コマンドについてsshdに通知する必要がありますか?不要。それぞれ異なる宛先ディレクトリを持つこれらのコマンドのペアを定義します。問題が解決しました。

おすすめ記事