Mengapa rsync tidak tertangkap di dunia Windows? [Tutup]

97

Tampaknya rsync adalah standar de-facto untuk cadangan file yang efisien dan sinkronisasi di Unix / Linux.

Apakah ada yang punya pemikiran tentang mengapa itu tidak tertangkap di dunia Windows?

Mengapa belum menjadi 'protokol' universal untuk sinkronisasi file?

p.campbell
sumber
4
Itu karena tidak ada port yang layak, dan karena orang Windows terbiasa dengan It Just Works. Tidak-cukup-port yang ada adalah PITA besar.
RomanSt
1
Windows sudah menyediakan sinkronisasi delta melalui DFS dan RDC yang dapat dikelola secara terpusat, dikerahkan secara luas, dikonfigurasikan dll.
Panagiotis Kanavos
@ p.campbell, Ada cwrsync untuk windows
Pacerier

Jawaban:

48

Saya akan mengatakan sebagian besar karena orang-orang di windows tidak menyadarinya. Rsync adalah utilitas command-line yang konsisten dengan filosofi unix memiliki banyak alat kecil yang sudah diinstal. Filosofi windows didasarkan pada aplikasi GUI yang semuanya diunduh dan diinstal secara terpisah. Tidak ada tempat integrasi yang lancar di mana rsync akan terlihat jelas atau masuk akal, dan menjalankan perintah pada sistem windows sangat membosankan.

Juga, rsync benar-benar bersinar ketika itu merupakan bagian dari aplikasi yang lebih besar (katakanlah untuk mengkonsolidasikan dan mengurai log), atau sebagai sistem arsip otomatis (diimplementasikan dengan mudah dengan cronjob). Windows tidak memiliki alat lain dalam ekosistemnya untuk membuat menggunakan rsync benar-benar layak.

Akhirnya, saya akan mengatakan bahwa rsync terlalu rumit. Siapa pun yang saya kenal yang menggunakannya secara teratur memiliki kelompok flag yang telah ditentukan sebelumnya (milik saya -avuz) yang umumnya melakukan apa yang mereka inginkan, tetapi halaman manual / dokumentasi mencantumkan lusinan sakelar baris perintah, beberapa di antaranya merupakan gabungan dari sakelar lain. Misalnya (dari [halaman manual] [1]):

-a, --archive : mode arsip; sama dengan -rlptgoD (no -H, -A, -X)

Ini adalah cara cepat untuk mengatakan bahwa Anda ingin rekursi dan ingin mempertahankan hampir semua hal (dengan -H merupakan kelalaian yang menonjol). Satu-satunya pengecualian untuk kesetaraan di atas adalah ketika --files-from ditentukan, di mana case -r tidak tersirat.

Pengguna Windows pada umumnya mengharapkan, baik, jendela, dan menu, dan memiliki satu aplikasi menjadi solusi menyeluruh, bukan hanya bagian independen dari rantai alat.

HEDMON
sumber
11
Saya sangat setuju dengan anda ! Halaman manual adalah cara terburuk untuk memahami rsync dan banyak aplikasi lainnya.
Antoine Benkemoun
2
Sebenarnya, kebalikannya. Orang UNIX / Linux tidak tahu bahwa Windows menyediakan menyediakan DFS dan RDC sejak 2006 setidaknya. Sangat mudah untuk mengatur, mengelola, menyebarkan ke seluruh domain (yaitu ratusan atau ribuan desktop dengan puluhan atau ratusan klien).
Panagiotis Kanavos
3
@PanagiotisKanavos Kecuali DFS berbeda dengan rsync. NFS (atau sejumlah protokol lain) tersedia di OS berbasis Linux, tetapi rsync umumnya digunakan untuk backup bertahap, sekali transfer, dll. Apel dan jeruk.
Andrew White
5
@Pacerier: "Baris perintah adalah baris perintah"? Anda sangat toleran, atau Anda hanya tahu satu dan bukan yang lain. Untuk setiap orang normal yang mengenal Bash di Linux / Mac (atau salah satu shell Unix lainnya), cmd.exe begitu lumpuh sehingga mengatakan itu "membosankan di terbaik" masih merupakan pernyataan yang meremehkan.
mivk
2
"Dan menjalankan perintah pada sistem windows paling membosankan." - entah Anda belum melakukan banyak hal, belum pernah mendengar tentang Powershell, adalah fanboy Linux, atau semua yang di atas. Tidak ada bedanya dengan melakukannya di Linux hari ini.
Alan B
63

Saya terkejut tidak ada yang menyebutkan DeltaCopy , yang rsync dikemas dalam GUI windows. Ia bahkan dapat menginstal dirinya sebagai layanan yang kompatibel dengan rsyncd.

Sekenre
sumber
3
+1 Saya tidak bisa cukup memperbarui ini. DeltaCopy adalah cara kami membuat cadangan beberapa server linux ke server cadangan berbasis Windows kami. Rsync di Ubuntu langsung ke klien DeltaCopy di Windows.
Matt Everson
tampaknya tidak bermain bagus dengan izin keamanan ntfs
JamesRyan
Bisakah itu menarik file melalui SSH, tanpa rsyncd pada mesin Linux jarak jauh?
Cees Timmerman
1
Ketika rsync menjalankan ssh, ia memulai proses rsync di sisi lain. Anda tidak perlu mengonfigurasi rsyncd mandiri yang berjalan pada remote, tetapi Anda harus menginstalnya.
Sekenre
DeltaCopy sebagai server di windows, skrip cron menjalankan rsync ke kotak linux dan rsnaphot untuk mencapai backup "Time Machine". Tak ternilai.
MGP
11

Menurut pendapat saya, karena tidak ada GUI yang layak.

Argumen lain mungkin ada robocopy. Robocopy kehilangan banyak fitur keren yang ditawarkan rsync, tetapi dalam kebanyakan situasi, robocopy hanya cukup untuk pekerjaan yang ada.

Ludwig Weinzierl
sumber
4
robocopy tidak melakukan apa pun untuk mengoptimalkan salinan jarak jauh, yang merupakan inovasi utama rsync. Saya akan mengatakan bahwa tidak memiliki GUI klik-runcing adalah satu-satunya alasan untuk tidak mencobanya
Javier
2
Di dunia windows bekerja dengan file "jarak jauh" sering melibatkan berbagi disk jarak jauh, dan kemudian melakukan operasi file "lokal". Dan untuk itu robocopy sudah cukup.
9

Saya menggunakan rsync Cygwin secara luas dan bekerja dengan sangat baik.

Tapi ...

Ini bugger untuk menginstal dan mengkonfigurasi. Anda harus melakukan instalasi Cygwin lengkap hanya untuk mendapatkan satu biner dan tiga dll, dan tidak jelas mana tiga dll yang diperlukan. Cara menjalankannya sebagai layanan tidak jelas dan sintaks baris perintah rumit. Non-kutu buku suka menyerah dengan sangat cepat.

Juga itu mengacaukan izin ke titik di mana saya selalu mengatur cygwin = nontsec, dan secara teratur hang. Saya mengerti hang adalah masalah yang diketahui dengan dll Cygwin daripada rsync itu sendiri (yang bukan kritik dari orang-orang Cygwin. Apa yang mereka capai sedikit kekurangan mukjizat!).

Rsync sangat berguna jika Anda melakukan replikasi apa pun melalui tautan WAN, dan ada di daftar todo saya untuk menulis versi asli Win32. Sayangnya sudah ada di daftar todo saya selama beberapa tahun dan tidak lebih dekat ke atas. Saya tidak berpikir hanya menulis pembungkus GUI adalah langkah besar ke depan karena gagal untuk mengatasi beberapa masalah mendasar dengan versi Cygwin.

Jika ada yang tertarik, http://www.ratsauce.co.uk/notablog/UsingRsync.asp menjelaskan hasil kesakitan saya selama berjam-jam membuat Cygwin rsync bekerja di Windows.

JR

John Rennie
sumber
amen untuk itu, meskipun diinstal dan bekerja dengan baik pada sistem XP saya, Vista tidak menyukainya sama sekali. Rsync adalah bisnisnya, jika ada port asli untuk Windows, saya yakin itu akan digunakan lebih banyak.
gbjbaanb
Instalasi Git untuk Windows memberikan bash dan CygWin yang terkonfigurasi keluar dari kotak. Anda bahkan dapat memilih integrasi perintah unix ke CMD. Voila, saya lupa menggunakan PowerShell atau CMD)
it3xl
8

Saya akan mengatakan bahwa untuk sinkronisasi komputer ke komputer yang lebih kecil, orang menggunakan Robocopy , SyncToy , atau Foldershare (sekarang Live Sync). Untuk skenario berbagi file multimaster perusahaan besar, mereka menggunakan Sistem File Terdistribusi (DFS) . Alat-alat itu menangani sebagian besar skenario sinkronisasi dengan baik, menyisakan sedikit manfaat untuk menginstal, mempelajari, dan menggunakan aplikasi * nix yang dikompilasi ulang pada Windows.

Sean Earp
sumber
7

Apa yang akan rata-rata pengguna Windows Anda menggunakannya untuk ?

jalf
sumber
3
+1 karena benar - cadangan pengguna windows sebagian besar "seret dan lepas ke hard drive terpisah / eksternal"
LiraNuna
17
Saya jarang menandai balasan, dan saya tidak akan menandai yang ini, tetapi sejak kapan ServerFault menjadi forum bagi pengguna Windows biasa? Untuk sysadmin, replikasi di luar kantor menjadi semakin penting. Perusahaan besar mungkin hanya akan membeli DPM untuk digunakan melalui koneksi T3 mereka. Kami tipe humbler membutuhkan sesuatu yang akan bekerja pada kecepatan unggah ADSL, dan rsync melakukannya dengan sangat baik.
John Rennie
3
@ John: ya, tetapi orang tidak akan menggunakan rsync kecuali mereka tahu itu ada. rsync telah digunakan, dan bermanfaat, untuk "khas" * pengguna nix selama berabad-abad, sehingga setiap * nix sysadmin layak diberi tahu tentang hal itu. Di Windows? Tidak terlalu banyak. Windows (dan mungkin lebih penting, itu ditujukan untuk khalayak yang berbeda, satu yang tidak tertarik pada, atau menggunakan untuk, alat-alat seperti itu. Dan karena Windows sysadmin biasanya mulai keluar sebagai Windows pengguna , alat yang mereka gunakan dipengaruhi oleh alat-alat yang Pengguna Windows menggunakan. Anda mencampur dua masalah yang berbeda ( mengapa tidak populer, vs apakah itu akan berguna )
jalf
Saya hanya menjawab yang pertama, saya tidak menyangkal bahwa itu akan berguna
jalf
Ya tetapi ada banyak server Windwos di sekitarnya yang juga perlu didukung.
kiltek
4

IMO:

rsync jauh lebih kecil kemungkinannya untuk diinstal pada mesin yang ditemukan di dunia Windows sementara Resource Kit dengan robocopy sering diinstal (atau setidaknya itu ada dalam daftar perangkat lunak "disetujui" yang dapat diinstal pada sistem produksi).

Seperti yang telah ditunjukkan oleh orang lain, robocopy umumnya lebih dari cukup untuk menguliti kucing apa pun yang ada. Mungkin tidak sebagus rsync tapi ini alat yang bagus.

Kurangnya GUI mungkin menjadi faktor tetapi meskipun ada front-end yang tersedia untuk robocopy, saya menemukan bahwa kebanyakan orang mencari tahu saklar robocopy yang diperlukan dan menempelkannya dalam file bat.

damorg
sumber
Dengan Windows 2008 (dan menurut saya) robocopy disertakan dengan OS sehingga tidak perlu menginstalnya lagi.
mrdenny
Saya tidak menyadari ini. Terima kasih atas info ... kami setidaknya satu tahun lagi dari tahun 2008 di lingkungan kami dan saya belum mengikuti sejak keluar dari administrasi AD.
damorg
Robocopy diinstal secara default di Vista dan Windows 7 juga, dan mungkin juga di bagian PE-nya.
Oskar Duveborn
Robocopy tidak akan mentransfer hanya bagian file yang DIUBAH, jadi file besar dengan perubahan kecil menyalin sangat lambat dibandingkan dengan apa yang dilakukan rsync.
JustinP
4

Saya menggunakan robocopy di windows - yang sudah diinstal sebelumnya di windows vista dan windows 7, dan tergantung pada situasi cadangan yang saya temui sejauh ini.

Sam
sumber
2

Dugaan saya adalah bahwa ia tidak memiliki GUI. Untuk tugas sinkronisasi yang mudah, Microsoft bahkan menawarkan Sync Toy, dan rsync dapat melakukan lebih banyak lagi ...

bluebrother
sumber
Sebenarnya ada GUI untuk itu: sepiola.org/en/home saya pernah berbicara dengan pengembang Sepiola dan mereka mengatakan kepada saya bahwa mereka hanya membuat GUI di sekitar rsync.
2
Saya downvoted ini, karena itu menunjukkan bahwa Windows sysadmin hilang tanpa GUI. Yang tidak benar; admin yang paling baik baik-baik saja dengan utilitas commandline.
quux
2

Untuk apa itu worh, ada rsync berfungsi sempurna untuk Windows yang tidak perlu instalasi Cygwin. Saya telah menggunakannya untuk mencadangkan berbagai bagian data saya ke drive yang berbeda. Berguna untuk mengecualikan direktori tertentu, tetapi mungkin utilitas lain juga melakukannya.

Nestor

Nestor
sumber
Itu masih menggunakan Cygwin, yang berarti dll bisa main-main dengan aplikasi lain yang mungkin menggunakan Cygwin. Umumnya lebih baik menginstal Cygwin dalam kasus ini.
dlamblin
2

Oh nak, kalian jelas telah kehilangan utilitas "Unison". Saya telah mendukung beberapa infrastruktur utama AS / EUR "realtime" dan saya harus mengatakan bahwa setiap orang memiliki masalah yang sangat mirip ... bagaimana mereplikasi dan dapat aktif-aktif sepanjang waktu ... jika Anda tidak peduli tentang kegigihan sesi maka hal ini adalah bom ... hal terbaik yang saya temukan di solaris ekstra :-)

dounoit
sumber
2

Cara termudah untuk menggunakan / menginstal aplikasi GUI rsync yang saya temukan untuk Windows adalah grSync .

( Tangkapan layar: http://www.opbyte.it/grsync/screenshot.html )

Jika lebih populer, mungkin rsync akan digunakan lebih banyak.

l0c0b0x
sumber
0

Saya percaya rsync dapat digunakan di bawah cygwin di windows world :) cygwin mudah dipasang dan digunakan, namun bagi pengguna biasa yang menyukai GUI, hal itu tidak terlalu umum. jadi kami mendapatkan dua hambatan:

1) kurangnya antarmuka GUI

2) bahkan jika ada antarmuka GUI di tcl / tk misalnya - kebutuhan untuk menginstal cygwin adalah penghalang.

dan rsync bukan perangkat lunak berpemilik yang ingin menjual dirinya sendiri dan oleh karena itu berjuang untuk menghilangkan hambatan di hadapan pelanggan potensial. Sebagai Joel sais: menghilangkan satu penghalang menggandakan userbase Anda. Jadi di sini kita memiliki hambatan untuk pengguna windows - sebagai akibatnya basis pengguna kecil pada platform Windows.

pengguna11722
sumber
0

Saya menggunakan robocopy untuk perilaku seperti rsync di windows.

Pada dasarnya, saya menulis file backup.bat yang saya miliki di drive eksternal. Saya secara teratur menjalankan file untuk mendukung desktop saya ke drive eksternal. Lalu saya menyimpan drive eksternal dalam brankas tahan api.

Scott
sumber
0

Alasan yang sama persis tardan bzip2tidak pernah terdengar. Sangat tidak cocok dengan Windows. zip direktori dan shuttling melalui SMB cocok ke Windows lebih baik, dan tampaknya hampir sama cepatnya dalam banyak kasus. Sebenarnya itu bukan impian saya untuk dunia yang lebih baik, tapi itu kenyataan yang harus dihadapi. Hampir semua mesin windows tidak memiliki lapisan unix yang diinstal. Berbeda dengan, Mac OS X.

dlamblin
sumber
0

Ada beberapa rsync guis baru dalam pengembangan. Yang saya temui baru-baru ini melalui wikipedia adalah yintersync . Ini terlihat cukup komprehensif sebagai gui untuk rsync di windows dan agak rapi juga mendukung salinan bayangan untuk mereplikasi file langsung.

Saya baru-baru ini menguji ini pada sistem dr pekerjaan saya dengan hasil yang baik. Ini memiliki built in scheduler dan laporan email. Ini dapat membantu rsync menangkap akhirnya ke kerumunan windows

Geoff Goat
sumber
0

Kurangnya gui sebenarnya bukan masalah. xacls, robocopy, net, sc sangat berguna dan tidak memiliki gui. Saya percaya bahwa jika rsync tidak digunakan, itu lebih disebabkan oleh kenyataan bahwa:

  1. Windows tidak memiliki shell nyata dan bahasa scripting yang nyata. Dan orang-orang yang menggunakan batch juga menggunakan robocopy.
  2. Sejak 95, Windows dilengkapi dengan alat grafis yang mudah digunakan (bernama "dokumen Porte" dalam versi Perancis). Sejak Windows 2000 (atau XP?), Ada menu "sinkronisasi" di explorer.
Benoit
sumber
Definisi "nyata" adalah? ^^
Oskar Duveborn
Shell asli memungkinkan untuk menyesuaikan lebih dari prompt, ukuran jendela atau ubin. Ini menawarkan kemampuan untuk melakukan setiap tugas yang Anda inginkan (mengelola akun pengguna, menyetel konfigurasi sistem, ...). Bahasa skrip nyata memungkinkan untuk mendefinisikan lingkungan (Apakah Anda pernah mencoba menggunakan perintah "date" di lingkungan multi-negara?) Dan dapat digunakan dalam prompt interractive (tidak seperti vbs / js).
Benoit
PowerShell memenuhi semua persyaratan Anda dan telah menjadi bagian dari Windows sejak tahun 2006. Itu terintegrasi dengan .NET, jadi saya sebenarnya lebih suka Bash dalam beberapa kasus.
James