Fare il backup del server con rsync

Se non effettuate regolarmente il backup del server, avete poche possibilità di recuperare i file persi. Le copie di backup dovrebbero quindi rivestire sempre un ruolo importante nella pianificazione del server. Tra le tante soluzioni di backup disponibili si annovera lo strumento o protocollo di sincronizzazione rsync.

Cloud Backup di IONOS

Evita costosi downtime! Facile soluzione di backup per il tuo business.

Semplice
Sicuro
Integrato

Che cos'è rsync e per cosa si utilizza?

Il nome rsync indica un protocollo di rete per la sincronizzazione dei file che risale al 1996 ed è stato sviluppato, tra gli altri, da Andrew Tridgell, principale responsabile del progetto SAMBA. Oltre al protocollo, esiste uno strumento con lo stesso nome che consente la comunicazione. L'applicazione con licenza GPL può essere utilizzata gratuitamente e trasferisce i dati da una directory di origine alla directory di destinazione desiderata, in locale o su una rete pubblica. Rsync confronta la dimensione dei file e il tempo di creazione di tutti i file nelle cartelle di origine e di destinazione in modo che solo i file modificati debbano essere copiati a ogni sincronizzazione. Per questo, l'operazione di backup di rsync è indicata come un backup incrementale, che ha il vantaggio di poter essere eseguita rapidamente e occupa poco spazio.

N.B.

rsync è disponibile per tutti i comuni sistemi operativi UNIX come OS/2, Linux o macOS. Grazie al wrapper API Cygwin è utilizzabile anche su Microsoft Windows.

Oltre al backup dei dati e alla generazione dei cosiddetti server mirror (immagini complete del server), gli scenari di utilizzo tipici di rsync includono la sincronizzazione dei dati in aziende con posizioni diverse e una connessione dati debole. In particolare, quest'ultima funzione oggi è quasi esclusivamente adottata dalle moderne tecnologie cloud, anche perché una connessione dati debole è sempre meno comune.

Riepilogo delle principali opzioni di rsync

I backup di rsync si caratterizzano per l'elevata efficienza. L'approccio incrementale garantisce un utilizzo minimo della rete, il che è particolarmente utile per file di grandi dimensioni, indipendentemente dal fatto che le modifiche a questi file siano molte o minime. Come strumento a riga di comando, rsync funziona per impostazione predefinita tramite il terminale o tramite il prompt dei comandi se si utilizza rsync su un dispositivo Windows. Le immissioni hanno sempre la seguente sintassi:

rsync -(-)Opzioni Percorso di origine Percorso di destinazione

I percorsi di origine e destinazione devono indicare la rispettiva directory di origine e la directory in cui rsync deve archiviare la copia di backup. Le opzioni, che possono essere abbreviate con lettere o scritte per intero, definiscono le singole impostazioni dei backup di rsync. I parametri più importanti, che possono essere combinati liberamente, sono riassunti nella seguente tabella:

Opzione

Funzione

-r, --recursive

Il backup di rsync considera tutte le sottodirectory contenute

-u, --update

Istruzione per saltare i file più recenti nella directory di destinazione rispetto alla directory di partenza

-c, --checksum

Differenziazione dei file di origine e di destinazione in base ai checksum

-l, --links

I collegamenti simbolici vengono copiati come tali (e non come file)

-p, --perms

Le autorizzazioni sui file vengono mantenute

-g, --group

Le autorizzazioni di gruppo sui file vengono mantenute

-t, --times

Le marche temporali dei file (ultima modifica) vengono mantenute

-o, --owner

Il proprietario del file viene mantenuto (solo se amministratore)

-D, --devices

I dati del dispositivo vengono mantenuti

-z, --compress

Compressione automatica dei file trasmessi

--compress-level=NUM

Determinazione del grado di compressione; è possibile un valore (“NUM”) compreso tra 0 (nessuna compressione) e 9 (compressione massima)

-v, --verbose

Maggiori dettagli durante il processo di backup

-q, --quiet

Nasconde tutti i dettagli sul processo di backup (tranne i messaggi di errore)

-a, --archive

Modalità di archiviazione, che è la modalità predefinita ed è identica alla combinazione di opzioni -rlptgoD

-n, --dry-run

Esecuzione del test: non vengono apportate modifiche effettive

-h, --help

Menu di aiuto (può essere utilizzato solo senza specificare directory di origine e destinazione o altri argomenti)

--bwlimit=KBPS

Limitazione della larghezza di banda (kilobyte al secondo); ad esempio  --bwlimit=30 (limite di 30 kbit/s)

                --exclude=MODELLO

Esclusione di un modello dalla sincronizzazione; ad esempio --exclude cartella di esempio (la cartella di esempio non verrà sincronizzata.)

--delete

Eliminazione di tutti i file che si trovano nella directory di destinazione ma non nella directory di origine

--progress

Visualizzazione della durata del backup di rsync e della velocità di trasmissione

--list-only

Elenco dei file anziché di un backup

--stats

Rapporto dettagliato sui dati trasferiti (numero, dimensioni)

--max-size=SIZE

Definizione di una dimensione massima del file; ad esempio --max-size=10MB (verranno trasferiti solo file di dimensioni fino a 10 MB.)

--ignore-errors

Sospende l'interruzione del processo di backup in caso di errore

Configurare i backup di rsync su server Linux

Per utilizzare rsync su sistemi operativi Linux, installate il protocollo nell'omonimo pacchetto e create i backup utilizzando i comandi del terminale. In alternativa, è possibile utilizzare applicazioni come Back In Time, rsnapshot (per backup automatici regolari) o Unison, che consentono il controllo del processo di backup tramite un'interfaccia grafica. Di seguito vi illustriamo i passaggi chiave per impostare i processi di backup con rsync, usando ad esempio Ubuntu.

Per impostazione predefinita, rsync è già installato su Ubuntu. In caso contrario, recuperate l'installazione utilizzando il comando seguente:

sudo apt-get install rsync

Se rsync è installato, utilizzate i comandi del terminale desiderati per specificare la directory di origine e di destinazione, nonché le opzioni di backup. Ad esempio, è possibile eseguire la modalità predefinita (“Archivio”) come segue:

rsync -a Directory di origine Directory di destinazione
Consiglio

Si consiglia di utilizzare l'esecuzione di prova (-n) e di verificare la correttezza dei parametri e delle directory specificati; nella peggiore delle ipotesi, le informazioni errate possono portare alla perdita di dati. Se alcuni file non vengono copiati come desiderato durante il processo, spesso è dovuto alla mancanza dei permessi di accesso. In tal caso, provate a eseguire il comando come amministratore immettendo il parametro “sudo” prima della direttiva vera e propria.

5 scenari popolari di backup con rsync

Se avete dimestichezza con i comandi di base, rsync è uno strumento eccellente per la copia di file e l'esecuzione di backup. Inoltre, è possibile testare e applicare impostazioni di comando personalizzate o fare affidamento su combinazionicollaudate dei parametri rsync disponibili. Ad esempio, i seguenti scenari di backup con rsync sono particolarmente apprezzati:

Backup standard con modalità di archiviazione

La modalità di archiviazione, che per impostazione predefinita copia tutti i file dalla directory di origine alla directory di destinazione (comprese tutte le sottodirectory) preservando tutte le autorizzazioni, le marche temporali e i dati del dispositivo, è in molti casi la soluzione giusta e più semplice grazie alla combinazione di varie opzioni in un singolo parametro. Combinando la modalità con il parametro -v, durante il processo di backup riceverete anche informazioni dettagliate sullo stato.

rsync -av Directory di origine Directory di destinazione

Copia identica della directory di origine

Rsync è in grado non solo di trasferire file da A a B, ma anche di creare copie identiche di cartelle o intere directory. Dopo l'archiviazione predefinita, i file che erano nella cartella di destinazione prima di usare rsync, ma che non si trovano nella cartella di origine, vengono eliminati.

rsync -av --delete Directory di origine Directory di destinazione

Backup con esclusione di file di un determinato formato

Se volete eseguire un backup che esclude i file in un formato specifico, è possibile farlo utilizzando --exclude. Il parametro consente di definire un modello di caratteri personalizzato che rsync utilizza come indicatore per ignorare un file. Nel seguente esempio di codice, si tratta del formato di file di testo .txt:

rsync -av --exclude'*.txt' Directory di origine Directory di destinazione

Backup di file con una dimensione minima o massima definita

Se non si desidera un determinato modello di caratteri, ma la ragione per ignorare determinati file nel backup di rsync deve essere la dimensione dei file, utilizzate i parametri --max-size o --min-size. Il comando seguente copia solo i file di minimo 10 MB e massimo 100 MB:

rsync -av --min-size=10MB --max-size=100MB Directory di origine Directory di destinazione

Backup con conversione del formato di carattere

È possibile che i file nella directory di destinazione siano necessari in un formato di carattere diverso, ad esempio se volete trasferire dati da un Mac a un server Linux. Per impostazione predefinita, il dispositivo Apple utilizza UTF8-MAC, che non è presente sul sistema Linux e causerebbe problemi con caratteri speciali e dieresi. L'opzione --iconv semplifica la personalizzazione della codifica dei caratteri all'interno del processo di backup di rsync (nell'esempio, da UTF8-MAC a UTF8):

rsync -av --iconv=UTF8-MAC,UTF8 Directory di origine Directory di destinazione

Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.