私の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 or
CRUCIALX6-2` 外部ドライブがいくつかあるので、これが基本構文です。これは素晴らしい作品です。新しいローカルファイルと変更/変更/更新されたローカルファイルが外部ドライブにバックアップされるため、外部ドライブは常に最新の状態に保たれ、ローカルから削除されたすべてのエントリは外部ドライブから削除されます。これが私が望む行動です。
最近、以下を試してみました。外部ドライブからローカルストレージにrsync -ac --delete --keep-dirlinks --exclude='GitHub' /media/user/TOSHIBA-EXT /home/user
自分のデータ(含まれていない)を復元しようとしています。最新情報ではないことを知って失望しました。/GitHub
TOSHIBA-EXT
/home/user/Documents
その結果、、、、および/home/user/TOSHIBA-EXT
ディレクトリを含むが生成されます。だからrsyncのマニュアルページを開きました。Downloads
Desktop
Documents
Pictures
Videos
これらは機能しません:
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
ディレクトリを作成し、次のようにする必要があります。Desktop
Documents
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/