Saya ingin bertanya apakah ada alasan untuk tidak menggunakan rsyncsemuanya dan meninggalkannya cp?
Saya tidak menyadarinya rsyncdan sekarang saya tidak tahu mengapa hal cpitu diperlukan.
Instalasi yang mana? Linux? Yang mana? Unix? dito. BSD? Anda tidak pernah tahu apa yang muncul secara default.
terdon
5
Benar-benar tidak ada "instalasi default" untuk Linux. Setiap distro memiliki paket inti dan sejumlah variasi di dalamnya. Juga ketika Anda perlu bekerja pada banyak sistem, menggunakan alat yang tersedia di mana-mana membuat segalanya lebih sederhana.
Saya cukup yakin Debian GNU / Linux menginstal rsync secara default. Namun, itu tidak tersedia di lingkungan instalasi dan penyelamatan. (Saya menggunakannya pagi ini untuk mentransfer isi partisi root saya dari satu disk ke disk lain. Menggunakan DVD instalasi 7.1.0 amd64.)
a CVn
Jawaban:
24
Tegasnya ya, Anda selalu bisa menggunakan rsync. Dari man rsync(beri penekanan pada saya):
Rsync adalah alat penyalinan file yang cepat dan luar biasa fleksibel. Ia dapat menyalin secara lokal, ke / dari host lain melalui shell remote, atau ke / dari daemon rsync jarak jauh. Ia menawarkan sejumlah besar opsi yang mengontrol setiap aspek dari perilakunya dan mengizinkan spesifikasi yang sangat fleksibel dari set file yang akan
disalin. Ia terkenal dengan algoritma delta-transfer-nya, yang mengurangi jumlah data yang dikirim melalui jaringan dengan hanya mengirim perbedaan antara file sumber dan file yang ada dalam destinasi. Rsync banyak digunakan untuk backup dan mirroring dan sebagai perintah penyalinan yang ditingkatkan untuk penggunaan sehari-hari.
Sekarang, terkadang tidak ada gunanya mengetik beberapa karakter tambahan itu hanya dengan menggunakan tank untuk membunuh seekor lalat. Juga, rsyncsering tidak diinstal secara default sehingga cpmenyenangkan untuk dimiliki.
Maksud Anda tidak tersedia sebagai bagian dari instalasi default tetapi unduhan terpisah?
Jim
1
@ Jim ya, kadang-kadang Anda perlu menginstal rsyncsendiri tergantung pada sistem yang Anda temukan. Jika Anda tidak memiliki rootakses, itu bisa sulit. cpadalah POSIX dan akan selalu ada di sana.
terdon
9
cpadalah bagian dari GNU coreutils sehingga selalu diinstal pada setiap sistem Linux sementara rsynctidak.
Martin von Wittich
1
sometimes it is just not worth typing those few extra characters- Saya telah alias pcp(untuk "copy kemajuan") untuk itu;)
Izkata
19
Rsync bisa lebih lambat dari cp dalam beberapa situasi. Misalnya ketika tujuan ada dan rsync akhirnya melakukan beberapa perbandingan mahal untuk setiap blok, tidak menemukan blok yang sama dan menyalin file sumber lengkap.
Juga ketika file tujuan tidak ada, rsync tidak memberikan keuntungan apa pun di atas cp.
Di bawahnya, metodologi salinan rsync secara signifikan lebih lambat. Lihat unix.stackexchange.com/questions/374071/… . Strace cp menunjukkan (pada tulisan ini), urutan operasi baca / 32 KB sederhana 32KB. Rsync, sementara itu, melakukan read / 4092-byte + 4-byte write to socket / read dari socket / 250KB write to file. Saya melakukan rsync dari 36T file ukuran campuran pada 130MB / s throughput. Saya bisa melipatgandakannya dengan cp -a. rsync menang, seperti yang Anda katakan ketika Anda ingin "membuat 'itu terlihat seperti' ini '" di direktori yang sudah serupa.
Mike S
7
Saya pikir rsynctidak menangani menyalin file jarang secara langsung. cpsecara default menangani itu dengan sangat baik.
rsync
tidak tersedia di mana-mana,cp
adalah.cp
tetapi tidakrsync
: pubs.opengroup.org/onlinepubs/007904875 /utilities/contents.htmJawaban:
Tegasnya ya, Anda selalu bisa menggunakan
rsync
. Dariman rsync
(beri penekanan pada saya):Sekarang, terkadang tidak ada gunanya mengetik beberapa karakter tambahan itu hanya dengan menggunakan tank untuk membunuh seekor lalat. Juga,
rsync
sering tidak diinstal secara default sehinggacp
menyenangkan untuk dimiliki.sumber
rsync
sendiri tergantung pada sistem yang Anda temukan. Jika Anda tidak memilikiroot
akses, itu bisa sulit.cp
adalah POSIX dan akan selalu ada di sana.cp
adalah bagian dari GNU coreutils sehingga selalu diinstal pada setiap sistem Linux sementararsync
tidak.sometimes it is just not worth typing those few extra characters
- Saya telah aliaspcp
(untuk "copy kemajuan") untuk itu;)Rsync bisa lebih lambat dari
cp
dalam beberapa situasi. Misalnya ketika tujuan ada dan rsync akhirnya melakukan beberapa perbandingan mahal untuk setiap blok, tidak menemukan blok yang sama dan menyalin file sumber lengkap.Juga ketika file tujuan tidak ada, rsync tidak memberikan keuntungan apa pun di atas cp.
sumber
Saya pikir
rsync
tidak menangani menyalin file jarang secara langsung.cp
secara default menangani itu dengan sangat baik.sumber
-S
bendera.sparse
.Karena
cp
flag ini kurang dalam rsync:sumber
-n
(run kering) di rsync, yang bisa menjadi pengganti fitur itu.