rsyncを使用してマイコンピュータにデータを復元することはできません。

rsyncを使用してマイコンピュータにデータを復元することはできません。

私のLinux Mint 20.2システムは、次のデータに設定されました。

/home/user/Desktop
/home/user/Documents
/home/user/Pictures
/home/user/Videos
/home/user/Downloads
/home/user/GitHub

私は以下を使用してこのデータをバックアップしますrsync -ac --info=progress2 --delete --keep-dirlinks /home/user/{Downloads,Desktop,Documents,GitHub,Pictures,Videos} /media/user/<DRIVE-NAME><DRIVE-NAME> might be TOSHIBA -EXT orCRUCIALX6-2` 外部ドライブがいくつかあるので、これが基本構文です。これは素晴らしい作品です。新しいローカルファイルと変更/変更/更新されたローカルファイルが外部ドライブにバックアップされるため、外部ドライブは常に最新の状態に保たれ、ローカルから削除されたすべてのエントリは外部ドライブから削除されます。これが私が望む行動です。

最近、以下を試してみました。外部ドライブからローカルストレージにrsync -ac --delete --keep-dirlinks --exclude='GitHub' /media/user/TOSHIBA-EXT /home/user自分のデータ(含まれていない)を復元しようとしています。最新情報ではないことを知って失望しました。/GitHubTOSHIBA-EXT/home/user/Documents

その結果、、、、および/home/user/TOSHIBA-EXTディレクトリを含むが生成されます。だからrsyncのマニュアルページを開きました。DownloadsDesktopDocumentsPicturesVideos

これらは機能しません:

rsync -ac --delete --keep-dirlinks --exclude='GitHub' /media/user/TOSHIBA-EXT/{Downloads, Desktop, Documents, Pictures, Videos} /home/user/{Downloads, Desktop, Documents, Pictures, Videos}- ダウンしていると思います。

rsync -ac --delete --keep-dirlinks --exclude='GitHub' /media/user/TOSHIBA-EXT/{Downloads, Desktop, Documents, Pictures, Videos} /home/user/- ダウンしていると思います。

rsync -ac --delete --keep-dirlinks --exclude='GitHub' /media/user/TOSHIBA-EXT/ /home/user/{Downloads, Desktop, Documents, Pictures, Videos}- ダウンしていると思います。

rsync -ac --delete --keep-dirlinks --exclude='GitHub' /media/user/TOSHIBA-EXT/ /home/user/- 次のエラーで失敗しますcannot delete non-empty directory: .local/shore/Trash/files/Videos}/TOSHIBA-EXT。他のエラーも同様です。

rsync -acr --delete --keep-dirlinks --exclude='GitHub' /media/user/TOSHIBA-EXT/ /home/user/- 返されたエラーは上記と似ています。

rsync -acr --delete --keep-dirlinks --exclude='GitHub' /media/user/TOSHIBA-EXT/ /home/user/- 作る/home/user/TOSHIBA-EXT

私が求めている行動は次のとおりです。

このディレクトリの内容をコピーしてください。 再開:
/media/user/TOSHIBA-EXT/Desktop /home/user/Desktop
/media/user/TOSHIBA-EXT/Documents /home/user/Documents
/media/user/TOSHIBA-EXT/Pictures /home/user/Pictures
/media/user/TOSHIBA-EXT/Videos /home/user/Videos
/media/user/TOSHIBA-EXT/Downloads /home/user/Downloads

rsyncのマニュアルページとduckduckgoの結果を読みましたが、助けが必要なようです。

上記の回復動作を実行するには、回復コマンドをどのように変更する必要がありますか?

ベストアンサー1

回復のために、ソースパスに末尾のスラッシュがありません。ドキュメント(man rsync)には次のように記載されていますが、ページが長くて見逃しやすいです。

/ソースの末尾を「名前によるディレクトリのコピー」ではなく「このディレクトリの内容のコピー」と考えることができますが、どちらの場合も、インクルードディレクトリの属性がターゲットのインクルードディレクトリに送信されます。

-c()フラグも削除する必要があります--checksum。これには何の価値も追加されず、バックアップ速度が大幅に遅くなります。

したがって、バックアップはターゲットになどのDownloadsディレクトリを作成し、次のようにする必要があります。DesktopDocuments

rsync -avi --delete /home/user/{Downloads,Desktop,Documents,GitHub,Pictures,Videos} /media/user/<DRIVE-NAME>

対応する完全な復元は次のとおりです。ターゲットから最新のファイルを更新しないようにu()を追加し、バックアップされていないディレクトリとファイルを削除しないように削除しました。--update--delete

rsync -auvi /media/user/<DRIVE-NAME>/ /home/user/

おすすめ記事