====== Rsync su windows ======
Questo documento nasce dall'esigenza che avevo di riuscire ad avere un server rsync su windows, da usarsi con rsnapshot per backuppare la macchina windows. Probabilmente funziona anche con backuppc.
La difficoltà è riuscire a mettere assieme un servizio rsync funzionante su windows. La strada è usare rsync portato sul sistema cygwin, minimizzando però l'installazione allo stretto necessario, che nel mio caso è rsync che possa girare come server. Attenzione: questa config non usa sshd e quindi il traffico è in chiaro.
Questi sono appunti che prendono in considerazione diverse ipotesi di installazione, non so quale sia la migliore.
===== Pacchetto di installazione dal repo di Backuppc =====
Scopro oggi (luglio 2019) (meglio tardi che mai) che nel repository di backuppc ci sono anche alcune versioni di rsync per windows.
Non le ho ancora provate.
Questi sono due link:
* [[https://sourceforge.net/projects/backuppc/files/cygwin-rsyncd/]]
* [[https://github.com/backuppc/cygwin-rsyncd]]
===== Installazione totalmente manuale di rsync senza deltacopy =====
Questa è la maniera preferita di fare l'installazione, la uso con backuppc e funziona. Le altre le lascio ma sono deprecate.
* Installare Rsync (solo a 64 bit) prendendolo da qui: **[[https://github.com/backuppc/cygwin-rsyncd/releases]]**. L'installazione dovrebbe installare di default dentro a c:\rsyncd\ e creare anche una entry fra i servizi in modo che rsyncd venga eseguito dall'utente system al boot.
* Se per qualsiasi motivo non funziona più il link sopra, questa è la versione disponibile a Luglio 2022: {{ :windows:rsync:cygwin-rsyncd-3.2.3.1_installer.exe }}
* Modificare la configurazione dentro a ''c:\rsyncd\rsyncd.conf'' adattandola alle nostre esigenze. Io ho lasciato tutto a default nella sezione "generale" e poi ho creato una sezione per il backup di quello che mi serviva, in questo esempio è il disco "G".
use chroot = false
max connections = 2
log file = c:/rsyncd/rsyncd.log
#pid file = c:/rsyncd/rsyncd.pid
lock file = c:/rsyncd/rsyncd.lock
[cDrive]
path = /cygdrive/c/
comment = Entire C Drive
strict modes = false
auth users = backuppc
secrets file = c:/rsyncd/rsyncd.secrets
hosts allow = 192.1.1.100, 192.1.1.101
read only = true
list = false
charset=utf-8
* Modificare il file ''c:/rsyncd/rsyncd.secrets'' per inserire i dati di accesso per il nostro utente: (attenzione, lasciare almeno una riga vuota alla fine del file!)
backuppc:password
* Riavviare il servizio ''RsyncServer'' (da servizi nel pannello di controllo, o usando la command line)
* Ricordarsi di aprire la porta 873 nel firewall di windows
===== Installazione con Deltacopy =====
Deltacopy è un progetto che prevede, in un unico pacchetto, l'installazione di rsync server e client, di una interfaccia grafica per gestirli, e di un meccanismo per daemonizzare rsync. Il problema di Deltacopy è che è obsoleto, ma su questo ci possiamo lavorare.
* Prima di tutto, installare il pacchetto di Deltacopy (allegato qui:{{ :windows:rsync:deltacopy.zip }})
* Poi, configurare uno share da backuppare nella interfaccia di Deltacopy "server", installare e lanciare il servizio rsync daemon, e aprire il firewall di windows (porta 873 tcp).
La versione di rsync presente in Deltacopy è vecchia, ma se vi basta, siete a posto.
===== Installazione con Deltacopy e aggiornamento rsync =====
* Dopo aver installato Deltacopy come prima, scaricare e decomprimere il pacchetto Cwrsync 5.5.0 free (allegato qui:{{ :windows:rsync:cwrsync_5.5.0_x86_free.zip }})
* Copiare i files (rsync e le librerie cygwin, ovvero tutto "/bin") sovrascrivendo i files di Deltacopy.
* riavviare il servizio di Deltacopy
Così facendo avrete la comodità dell'interfaccia di deltacopy ma un rsync più moderno.
===== Limiti =====
* Questa soluzione non è ancora sperimentata a fondo, occorre verificare bene se l'utente con cui gira rsync ha accesso a tutti i files che vogliamo backuppare. Dovrebbe, ma non ne sono certo. Ovviamente non backupperà i files aperti, in quanto lavora SENZA uno snapshot VSS.