再同期トランザクション?

再同期トランザクション?

rsync を使用して、2 台のコンピュータ間でデータの変更を移動します。 PC2のデータディレクトリをUSBスティックにバックアップし、USBスティックをPC1に接続し、rsyncを実行してUSBスティックに保存されているデータディレクトリに基づいてPC1のデータディレクトリを更新しました。私は私が本当に好きな非常にかわいい小さなフラッシュ16Gbを使用しています。データが16GBを超えています。

私はいつも次のrsyncコマンドを使います。

from=/home/y/data;to=/media/y/16g_flash/_backup_data/; rsync -av --delete $from $to

マイコンピュータから削除したUSBフラッシュドライブからファイルを削除しました。そして、最後の修正時刻に基づいて新しいファイルを追加するか、ファイルを更新します。

これで、データがUSBドライブの容量よりも重くなりました。私は私の16Gb USBスティックが大好きで、私の手とあなたのアドバイスを使って私の問題を解決することを願っています。、他の256Gbメモリースティックを使用しないなど。

私が見た解決策は、更新されたファイルのみをコピーし、ファイルリスト(権限と最後の修正時間)を含むテキストファイルを使用して、どのファイルが削除、更新、追加されたかを比較することでした。次のように進んでください。

  1. データディレクトリ:/home/y/dataを私のPCであるPC1とPC2にコピーしました。だから私は別のコンピュータ上の同じファイルのリストから始めました。
  2. ファイルリストをUSBドライブの/media/y/16g_flash/pc1_data.txtおよび/media/y/16g_flash/pc2_data.txtに保存しました。これらのファイルは最初から同じです。
  3. 私はPC2で働いています。一部のファイルを削除、更新、および新しいファイルを作成します。だから私のPC2のデータディレクトリは実際になりましたが、PC1のデータディレクトリは非現実的になり、アップデートが必要でした。
  4. 新しいファイルをコピーし、更新されたファイルをUSBスティックにコピーするために、PC2でrsyncを実行しました。また、PC2の新しいファイルのリストを/media/y/16g_flash/pc2_data.txtに保存しました。このファイルのリストは、/media/y/16g_flash/pc1_data.txt ファイルより後で変更されたため、実際です。したがって、私のUSBスティックには、私が変更したファイルのほんの一部しか含まれておらず、PC2にあるデータディレクトリのファイルリストの「スナップショット」も含まれています。
  5. PC1に移動してrsyncを実行し、USBスティックからPC1に新しいファイルと更新されたファイルをコピーしました。また、/media/y/16g_flash/pc2_data.txtにないファイルも削除しました。これは、そのファイルをPC2から削除したことを意味します。最後に、PC1のデータディレクトリを同期しました。

これにより、すべてのファイルをUSBに保存する必要がなくなります。私は「最後の取引」だけを保存します。

  • 新規および更新された文書
  • そして現在のファイルのリスト。

これはおそらく私のデータディレクトリが使用する20 GBの代わりにUSBスティックの100 Mbスペースしか使用していないでしょう。

rsyncを使用できますか?

私のデータディレクトリを/media/y/16g_flash/pc1_data.txtファイルのファイルリストと比較する方法がわかりません。また、/media/y/16g_flash/pc2_data.txtリストに存在しない場合は、私のPC1の古いファイルを削除する方法がわかりません。 rsyncはこれを行いますか、bashスクリプトを入力する必要がありますか? ?

関連情報