Apa itu mode arsip di rsync?

170

Saya tahu Anda dapat menggunakan -aatau --archiveuntuk mengaktifkan mode arsip saat menggunakan rsync. Sayangnya, saya tidak tahu mode arsip apa yang seharusnya dilakukan, dan halaman manual sama sekali tidak eksplisit tentang apa ini:

sama dengan -rlptgoD (no -H, -A, -X)

Bisakah Anda menjelaskan apa arti opsi-opsi itu ( rlptgoD) dan apa perilaku rsync ketika saya menggunakannya?

semua kode Anda
sumber

Jawaban:

204

Ini semua:

-r, - rekursif rekursif ke direktori

-l, --link menyalin symlink sebagai symlink

-p, --perms menjaga izin

-t, - kadang menghemat waktu modifikasi

-g, - grup pertahankan grup

-o, - pemilik pemilik yang dilindungi (hanya pengguna super)

-D sama dengan --devices --specials

--device melestarikan file perangkat (hanya pengguna super)

--specials menyimpan file khusus

Tidak termasuk:

-H, --hard-links menyimpan hard link

-A, --acls melestarikan ACL (menyiratkan -p)

-X, --xattrs mempertahankan atribut yang diperluas

Ini sempurna untuk cadangan. Set "default" saya adalah -avzP- mode arsip, bertele-tele, gunakan kompresi, simpan sebagian file, tampilkan progres.

Catatan: Selalu ketika deskripsi mengatakan "melestarikan", itu berarti membuat tujuan menjadi seperti sumbernya.

Andrew
sumber
26
+1 - ya, ada di halaman manual, tetapi juga menyenangkan untuk melihatnya di sini dengan jawaban untuk referensi yang mudah
cwd
3
lebih mudah daripada melihat di halaman manual: P?
Salami
1
+1 untuk berbagi kombinasi opsi untuk cadangan (-avzP).
RoboAlex
2
ya di suatu tempat di sepanjang jalan, lmgtfy menjadi lebih mudah daripada manusia rsync.
Stu
1
@xealits Menurut halaman manual,The -P option is equivalent to --partial --progress.
Sutandiono
15

Itu memastikan izin, atribut, dll. Sama di kedua sisi. rsync hanya berfungsi seperti itu ... jika Anda ingin menyinkronkan file, Anda harus menggunakan -a parameter.

Ini karena rsync membandingkan izin, atribut, dll ini di kedua sisi untuk menentukan apakah mereka adalah FILE SAMA dan memutuskan apakah harus diperbarui. jika Anda menggunakan rsync -r xxx yyy alih-alih rsync -a xxx yyy, beberapa file akan disalin lagi dan lagi, karena, izin, atribut tidak disinkronkan, dan ketinggalan cocok di kedua sisi ...

David
sumber
14

Sakelar arsip hanyalah pintasan untuk melewati keharusan memasukkan sekelompok sakelar yang biasanya akan Anda gunakan jika Anda menggunakan rsync untuk membuat cadangan (tugas umum).

Itu sama dengan mengetik:

rsync -r -l -p -t -g -o -D

Dan itu jauh lebih mudah diingat. Anda dapat menemukan definisi untuk semua sakelar di halaman manual.

(Tanda hubung adalah opsional saat Anda menggabungkan beberapa sakelar satu huruf.)

Steve Simms
sumber
8
terima kasih, tapi saya pikir Anda tidak mengerti maksud saya. Bisakah Anda jelaskan apa yang menggabungkan semua opsi itu tanpa membuat saya membaca 7 bagian berbeda dari halaman manual, yang mungkin merujuk pada bagian lain dari halaman manual?
allyourcode
17
Saya pikir Anda kehilangan poin bahwa penting untuk membaca halaman manual untuk mengetahui apa yang Anda lakukan. rsync memiliki beberapa opsi yang sangat kuat, termasuk cara menghapus file! Ini seperti Anda meminta bantuan untuk menggunakan gergaji meja karena Anda tidak suka membaca buku petunjuk.
David M
2
Tentu saja, saya hanya tidak suka membaca instruksi manual untuk yang ke-100 kalinya ketika saya bisa merujuk ke lembar contekan.
CivFan