Perché rsync non ha preso piede nel mondo Windows? [chiuso]


97

Sembra che rsync sia lo standard di fatto per un efficiente backup e sincronizzazione dei file in Unix / Linux.

Qualcuno ha qualche idea sul perché non avrebbe preso piede nel mondo Windows?

Perché non è diventato un "protocollo" universale per la sincronizzazione dei file?


4
È perché non esiste una porta decente e perché le persone Windows sono abituate a Funziona. Le non-porte esistenti sono una grande PITA.
Roman,

1
Windows fornisce già la sincronizzazione delta tramite DFS e RDC che possono essere gestiti centralmente, distribuiti in modo massiccio, configurati ecc.
Panagiotis Kanavos,

@ p.campbell, c'è cwrsync per windows
Pacerier

Risposte:


48

Direi principalmente perché le persone in Windows non ne sono consapevoli. Rsync è un'utilità da riga di comando coerente con la filosofia unix di preinstallare molti piccoli strumenti. La filosofia di Windows si basa su applicazioni GUI che sono tutte scaricate e installate separatamente. Non esiste un punto di integrazione regolare in cui rsync sia ovvio o abbia molto senso, e l'esecuzione dei comandi su un sistema Windows è noiosa nella migliore delle ipotesi.

Inoltre, rsync brilla davvero quando fa parte di un'applicazione più grande (diciamo per il consolidamento e l'analisi dei registri) o come sistema di archiviazione automatizzato (implementato facilmente con un cronjob). Windows semplicemente non ha gli altri strumenti nel suo ecosistema per rendere effettivamente utilizzabile rsync.

Infine, direi che rsync è troppo complicato. Chiunque conosca chi lo usa regolarmente ha un gruppo di flag preimpostato (il mio è -avuz) che generalmente fa quello che vuole, ma le pagine man / la documentazione elencano dozzine di opzioni della riga di comando, alcune delle quali si fondono con altre opzioni. Ad esempio (dalla [pagina man] [1]):

-a, --archive : modalità archivio; è uguale a -rlptgoD (no -H, -A, -X)

È un modo rapido per dire che vuoi la ricorsione e vuoi preservare quasi tutto (con -H che è una notevole omissione). L'unica eccezione alla precedente equivalenza è quando viene specificato --files-from, nel qual caso -r non è implicito.

Gli utenti Windows generalmente si aspettano, beh, finestre e menu, e avere un'unica app essere una soluzione all-in-one, non solo un pezzo indipendente di una catena di strumenti.


11
Sono totalmente d'accordo con te ! Le pagine man sono il modo peggiore per comprendere rsync e molte altre applicazioni.
Antoine Benkemoun,

2
In realtà, è il contrario. Le persone UNIX / Linux non sanno che Windows fornisce almeno DFS e RDC dal 2006. È facile da configurare, gestire, distribuire in interi domini (ovvero centinaia o migliaia di desktop con dozzine o centinaia di client).
Panagiotis Kanavos,

3
@PanagiotisKanavos Tranne che DFS è diverso da rsync. NFS (o una serie di altri protocolli) sono disponibili su sistemi operativi basati su Linux, ma rsync viene generalmente utilizzato per backup in fasi, una volta disattivati ​​i trasferimenti, ecc. Mele e arance.
Andrew White,

5
@Pacerier: "La riga di comando è riga di comando"? O sei estremamente tollerante, o conosci solo uno e non gli altri. Per ogni persona normale che conosce Bash in Linux / Mac (o in una qualsiasi delle altre shell Unix), cmd.exe è così paralizzato che dire che è "noioso nella migliore delle ipotesi" è ancora un eufemismo.
lunedì

2
"ed eseguire comandi su un sistema Windows è noioso nella migliore delle ipotesi." - o non hai fatto molto, non hai mai sentito parlare di Powershell, sei un fan di Linux, o tutto quanto sopra. Al giorno d'oggi non è affatto diverso dal farlo su Linux.
Alan B,

63

Sono sorpreso che nessuno abbia menzionato DeltaCopy , che è rsync impacchettato in una GUI di Windows. Può persino installarsi come servizio compatibile con rsyncd.


3
+1 Non posso votare abbastanza questo. DeltaCopy è il modo in cui eseguiamo il backup di un paio di server Linux sul nostro server di backup basato su Windows. Rsync su Ubuntu direttamente nel client DeltaCopy su Windows.
Matt Everson,

non sembra funzionare bene con le autorizzazioni di sicurezza ntfs
JamesRyan,

Questo può estrarre file tramite SSH, senza rsyncd sulla macchina Linux remota?
Cees Timmerman,

1
Quando rsync viene eseguito su ssh, avvia un processo rsync sull'altro lato. Non è necessario configurare un rsyncd autonomo in esecuzione sul telecomando, ma è necessario averlo installato.
Sekenre,

DeltaCopy come server su Windows, cron script che esegue rsync su un box Linux e rsnaphot per ottenere backup "Time Machine". Inestimabile.
MGP,

11

Secondo me, perché non esiste una GUI decente.

Un altro argomento potrebbe essere che esiste un robocopy. A Robocopy mancano molte funzioni interessanti offerte da rsync, ma nella maggior parte dei casi a Robocopy è sufficiente per il lavoro da svolgere.


4
robocopy non fa nulla per ottimizzare le copie remote, che è la principale innovazione di rsync. direi che non avere una GUI a punta di clic è l'unica scusa per non provarla
Javier

2
Nel mondo di Windows lavorare con file "remoti" comporta spesso la condivisione del disco remoto e quindi l'esecuzione di operazioni "locali" sui file. E per quel robocopy è sufficiente.

9

Uso ampiamente Cygwin rsync e funziona molto bene.

Ma ...

È un bugger da installare e configurare. Devi fare un'installazione completa di Cygwin solo per ottenere un binario e tre dll, e non è ovvio quali tre dll siano necessarie. Come eseguirlo come servizio non è ovvio e la sintassi della riga di comando è complessa. I non nerd sono come arrendersi molto rapidamente.

Inoltre incasina le autorizzazioni al punto in cui imposto sempre cygwin = nontsec e si blocca regolarmente. Capisco che l'hang è un problema noto con la Cygwin dll piuttosto che con rsync stesso (che non è una critica dei ragazzi di Cygwin. Quello che hanno ottenuto è a dir poco miracoloso!).

Rsync è estremamente utile se si esegue qualsiasi tipo di replica su collegamenti WAN ed è nella mia lista delle cose da fare per scrivere una versione nativa di Win32. Purtroppo è stato nella mia lista delle cose da fare per diversi anni e non è più vicino alla cima. Non penso che scrivere un wrapper GUI sia un grande passo avanti poiché non riesce ad affrontare alcuni dei problemi fondamentali con la versione di Cygwin.

Se qualcuno è interessato, http://www.ratsauce.co.uk/notablog/UsingRsync.asp descrive i risultati delle mie molte ore di dolore nel far funzionare Cygwin rsync su Windows.

JR


anche se installato e funzionato bene sul mio sistema XP, a Vista non è piaciuto affatto. Rsync è il business, se ci fosse una porta nativa su Windows, sono sicuro che sarebbe usato molto di più.
gbjbaanb,

L'installazione di Git per Windows fornisce immediatamente bash e CygWin configurati. È anche possibile selezionare l'integrazione di comandi unix in CMD. Voilà, dimentico di usare PowerShell o CMD)
it3xl

8

Direi che per sincronizzazioni da computer a computer più piccoli, le persone usano Robocopy , SyncToy o Foldershare (ora Live Sync). Per gli scenari di condivisione file multimaster distribuiti di grandi dimensioni, utilizzano il file system distribuito (DFS) . Questi strumenti gestiscono bene la maggior parte degli scenari di sincronizzazione, lasciando pochissimi benefici all'installazione, all'apprendimento e all'utilizzo di un'app * nix ricompilata su Windows.


7

Quale sarebbe la vostra utente medio di Windows usarlo per ?


3
+1 per essere vero - il backup dell'utente di Windows è principalmente "trascinalo su un disco rigido separato / esterno"
LiraNuna,

17
Raramente contrassegno le risposte verso il basso e non segnerò questo verso il basso, ma da quando ServerFault è stato un forum per utenti medi di Windows? Per l'amministratore di sistema, la replica fuori sede sta diventando sempre più importante. Le grandi aziende probabilmente compreranno DPM da utilizzare tramite le loro connessioni T3. Noi tipi più umili abbiamo bisogno di qualcosa che funzioni alla velocità di upload ADSL e rsync lo fa molto bene.
John Rennie,

3
@Giovanni: sì, ma le persone non useranno rsync se non sanno che esiste. rsync è stato usato, e utile, per "tipici" utenti * nix da anni, e quindi qualsiasi sysadmin * nix degno del suo sale lo sa. Su Windows? Non così tanto. Windows è (e probabilmente ancora più importante, era rivolto a un pubblico diverso, uno che non aveva alcun interesse o uso per strumenti come questo. E poiché i sistemi amministratore di Windows di solito iniziano come utenti Windows , gli strumenti che usano sono influenzati da quali strumenti Utilizzano gli utenti Windows . Stai mescolando due preoccupazioni diverse ( perché non è popolare, vs sarebbe utile )
jalf

Ho appena risposto al primo, non sto negando che sarebbe utile
jalf

Sì, ma ci sono molti server Windwos che devono essere sottoposti a backup.
Kiltek,

4

IMO:

È molto meno probabile che rsync sia installato su macchine che si incontrano nel mondo Windows mentre è spesso installato il Resource Kit con robocopy (o almeno è su un elenco "approvato" di software che può essere installato su un sistema di produzione).

Come altri hanno sottolineato, il robocopy è generalmente più che adeguato alla pelle qualunque sia il gatto a portata di mano. Potrebbe non essere così bello come rsync ma è un buon strumento.

La mancanza di GUI può essere un fattore, ma anche se c'è un front-end disponibile per robocopy, trovo che la maggior parte delle persone capisca gli interruttori di robocopy necessari e li inserisca in un file .bat.


Con Windows 2008 (e presumo) robocopy è incluso nel sistema operativo, quindi non è più necessario installarlo.
mrdenny,

Non me ne sono reso conto. Grazie per le informazioni ... siamo a almeno un anno di distanza dal 2008 nel nostro ambiente e non mi sono tenuto al passo da quando sono uscito dall'amministrazione AD.
Damorg,

Robocopy è installato di default anche in Vista e Windows 7, e possibilmente anche nelle loro controparti PE.
Oskar Duveborn,

Robocopy non trasferirà solo le parti modificate dei file, quindi i file di grandi dimensioni con piccole modifiche vengono copiati molto lentamente rispetto a ciò che fa rsync.
Giustino il

4

Uso robocopy in Windows, che è preinstallato in Windows Vista e Windows 7 e dipende da qualsiasi situazione di backup che ho riscontrato finora.


2

La mia ipotesi è che semplicemente non ha una GUI. Per semplici attività di sincronizzazione, Microsoft offre persino Sync Toy e rsync potrebbe fare molto di più ...


Attualmente esiste una GUI: sepiola.org/en/home Ho parlato una volta con gli sviluppatori di Sepiola e mi hanno detto che avevano appena creato una GUI attorno a rsync.

2
Ho effettuato il downgrade di questo, perché suggerisce che gli amministratori di sistema di Windows vengono persi senza una GUI. Il che non è proprio vero; la maggior parte dei bravi amministratori stanno bene con le utility da riga di comando.
quux

2

Per quello che c'è, c'è un rsync perfettamente funzionante per Windows che non ha bisogno dell'installazione di Cygwin. L'ho usato per eseguire il backup di diverse parti dei miei dati su unità diverse. È utile escludere determinate directory, ma probabilmente lo fanno anche altre utility.

Nestor


Usa ancora Cygwin, il che significa che la sua dll potrebbe fare confusione con altre app che potrebbero usare Cygwin. In genere è meglio installare Cygwin in questi casi.
dlamblin,

2

Oh ragazzi, ovviamente avete perso l'utilità "Unison". Ho supportato alcune delle principali infrastrutture "realtime" USA / EUR e devo dire che tutti hanno problemi molto simili ... come replicare ed essere in grado di essere attivi-attivi tutto il tempo ... se non ti interessa sulla persistenza della sessione, questa cosa è la bomba ... la cosa migliore che ho trovato negli extra di Solaris :-)



0

Credo che rsync possa essere usato con cygwin nel mondo di Windows :) cygwin è facile da installare e da usare, tuttavia per gli utenti ordinari che amano le GUI non è molto comune. quindi otteniamo due barriere:

1) mancanza di frontend GUI

2) anche se ad esempio c'era un frontend GUI in tcl / tk - la necessità di installare Cygwin è una barriera.

e rsync non è un software proprietario che vuole vendersi e quindi lotta per eliminare le barriere davanti ai potenziali clienti. Come dice Joel: l'eliminazione di una barriera raddoppia la base di utenti. Quindi qui abbiamo barriere per gli utenti di Windows - di conseguenza piccola base di utenti sulla piattaforma Windows.


0

Uso robocopy per un comportamento simile a rsync in Windows.

Fondamentalmente, ho scritto un file backup.bat che ho su un disco esterno. Eseguo regolarmente il file per eseguire il backup dei miei desktop sull'unità esterna. Quindi conservo l'unità esterna in una cassaforte ignifuga.



0

Esatto stesso motivo tare bzip2inaudito. Non si adatta molto bene a Windows. comprimere una directory e spostarla su SMB si adatta meglio a Windows e sembra quasi altrettanto veloce in numerosi casi. Non è davvero il mio sogno per un mondo migliore, ma è una realtà da affrontare. La maggior parte delle macchine Windows non ha alcun layer unix installato. A differenza di Mac OS X.


0

Ci sono alcune nuove guide rsync in fase di sviluppo. Uno che mi sono imbattuto di recente tramite Wikipedia è yintersync . Sembra piuttosto completo come una GUI per rsync su Windows e supporta piuttosto ordinatamente anche le copie shadow per replicare i file live.

Di recente l'ho provato sul mio sistema di lavoro con buoni risultati. Ha un programmatore incorporato e rapporti e-mail. Questo può aiutare rsync ad attirare finalmente la folla di Windows


0

La mancanza di gui non è davvero un problema. xacls, robocopy, net, sc sono molto utili e non hanno alcuna interfaccia grafica. Credo che se non si utilizza rsync, è più dovuto al fatto che:

  1. A Windows manca una vera shell e un vero linguaggio di scripting. E le persone che usano batch usano anche robocopy.
  2. Fin dal 95, Windows è dotato di uno strumento grafico di facile utilizzo (chiamato "documento Porte" nella versione francese). Da Windows 2000 (o XP?), C'è un menu "sincronizza" in Explorer.

La definizione di "reale" è? ^^
Oskar Duveborn,

Una vera shell consente di personalizzare più di prompt, dimensioni di Windows o piastrelle. Offre la possibilità di eseguire tutte le attività desiderate (gestione degli account utente, ottimizzazione della configurazione del sistema, ...). Un vero linguaggio di scripting consente di definire l'ambiente (hai mai provato a usare il comando "date" in un ambiente multi-paese?) E può essere utilizzato in un prompt interruttivo (a differenza di vbs / js).
Benoit,

PowerShell soddisfa tutti i requisiti e fa parte di Windows dal 2006. Si integra con .NET, quindi in alcuni casi preferisco effettivamente Bash.
James,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.