Bagaimana cara mempertahankan path lengkap dengan rsync?

64

Ketika mencadangkan dengan rsync, Bagaimana cara menjaga struktur direktori penuh?

Sebagai contoh, server jarak jauh adalah saturn , dan saya ingin membuat cadangan saturn 's / home / udi / file / gambar ke direktori lokal bernama cadangan .

Saya ingin memiliki cadangan (lokal) / home / udi / file / gambar daripada cadangan / gambar .

Adam Matan
sumber

Jawaban:

76

Gunakan opsi -Ratau --relativeuntuk mempertahankan path lengkap.

Dentrasi
sumber
2

Lain kasus penggunaan terkait umum untuk menyimpan bagian yang dipilih dari pohon direktori /./, misalnya jika Anda ingin:

backup/files/pictures

kamu bisa menulis:

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

Keajaiban /./memberi tahu dari rsyncmana mulai membuat direktori.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
sumber
Ini berhasil untuk saya! Apakah keajaiban itu ./merupakan konstruksi Linux atau khusus untuk rsync? Hanya berusaha mendapatkan wawasan tentang perilaku ini.
flow2k
@ flow2k hanya rsync magic, untuk POSIX itu mubazir.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
1

Dengan rsync Windows Cygwin, dan dengan asumsi rsync remote menunjuk ke root, saya akan melakukan:

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

Itu akan menempatkan isi direktori gambar jarak jauh di / backup / home / udi / file / gambar. Agaknya sintaks di bawah unix akan serupa.

JR

John Rennie
sumber
Ini tidak berguna karena kita perlu mereproduksi seluruh hierarki direktori di sisi lokal sebelum menjalankan perintah rsync.
Ludovic Kuty