rsync でフルパスを維持するにはどうすればいいですか?

rsync でフルパスを維持するにはどうすればいいですか?

rsync を使用してバックアップする場合、完全なディレクトリ構造を維持するにはどうすればよいですか?

たとえば、リモートサーバーは土星バックアップしたい土星/home/udi/ファイル/写真ローカルディレクトリにバックアップ

(地元で)欲しいバックアップ/ホーム/udi/ファイル/写真それよりもバックアップ/写真

答え1

完全なパスを保持するには、-Rまたはオプションを使用します。--relative

答え2

関連するもう 1 つの一般的な使用例は、ディレクトリ ツリーの選択した部分を保持することです/./。たとえば、次のようにします。

/home/udi/files/pictures

行く先:

backup/files/pictures

あなたは書ける:

rsync --relative /home/udi/./files/pictures backup

マジックは、そのパスをシステム コールに渡す前に/./によって特別に解析され、ディレクトリの作成を開始する場所を指示します。は、他の POSIX ユーティリティでは一般に何の意味もありません。たとえば、パスはPOSIX の場合と同じです。rsync/./a/./ba/b

答え3

Cygwin Windows rsync を使用し、リモート rsync がルートを指していると仮定すると、次のようにします。

rsync -vtrz --delete server::rsyncid/home/udi/files/pictures /cygdrive/d/backup/home/udi/files

これにより、リモートの写真ディレクトリの内容が /backup/home/udi/files/pictures に配置されます。おそらく、UNIX での構文も同様になります。

JR

答え4

rsyncをいつ開始するかに応じてcronで変更を加えることができます

rsync -avz -e ssh ruser@rserver:/home/udi/files/pictures/* /backup/pictures/

また、パスワードなしでリモートサーバーに接続するためにSSHキーを追加することもできます。

関連情報