Il backup regolare dei file è parte integrante dell'amministrazione del server.
Anche se puoi scaricare ogni singolo file quando vuoi salvarlo, usando rsync semplifica il compito di eseguire il backup perché scarica solo i file che sono stati modificati, risparmiando tempo e larghezza di banda.
Installa rsync
rsync è disponibile sulla maggior parte delle distribuzioni Linux per impostazione predefinita. Se devi installarlo manualmente, tuttavia, puoi farlo utilizzando il gestore di pacchetti della tua distribuzione. Ad esempio, i seguenti comandi sono alcuni comuni rsync di Linux® comandi di installazione:
Il sistema operativo Ubuntu
sudo aptitude install rsync
Gentoo
sudo emerge rsync
CentOS
sudo yum install rsync
Nota: Se stai scaricando file su un altro sistema, entrambi i sistemi devono avere rsync installato.
Utilizza SSH con rsync
Per proteggere i file e il sistema, assicurati di utilizzare la crittografia durante il caricamento o il download di file. L'esempio seguente utilizza il protocollo Secure Shell (SSH) con rsync per mantenere i tuoi dati al sicuro. Se preferisci non utilizzare SSH, ti verrà richiesta una password ogni volta che esegui rsync .
Se usi rsync per automatizzare i backup, assicurati che il server di destinazione (in cui si trova la directory di backup) abbia accesso al server di origine.
Per eseguire il backup dei file da un server all'altro, esegui il seguente comando sul server di destinazione:
rsync -e 'ssh -p 30000' -avlP --delete --stats demo@123.45.67.890:/home/demo /backup
La seguente spiegazione copre ogni parte del comando:
-
-e 'ssh -p 30000'Garantisce che
rsyncutilizza il protocollo SSH e imposta la porta. -
-avlUn collegamento che contiene le seguenti opzioni:
-
-aArchivia . Salva le impostazioni di autorizzazione per i file.
-
-vProlisso . Restituisce ulteriori informazioni su cosa
rsyncsta facendo. Puoi modificare la quantità di informazionirsyncrestituisce eliminando-voppure puoi richiedere maggiori informazioni con-vvo-vvv. Impostazione della modalità dettagliata con-vvvrestituisce tutte le informazioni sursyncprocesso. -
-lLink . Conserva tutti i collegamenti simbolici (collegamenti simbolici) che hai creato sul server di origine.
-
-PProgressi . Visualizza l'avanzamento di ogni trasferimento di file.
-
-
--deleteElimina i file dalla cartella di destinazione che non sono più necessari (ovvero, sono stati eliminati dalle cartelle di origine). In genere, elimini i file per risparmiare spazio, ma se pensi di averne bisogno in seguito, assicurati di averne una copia di backup prima di eliminarla.
-
--statsAggiunge più output sullo stato del trasferimento dei file.
-
demo@123.45.67.890:/home/demoLe cartelle di origine di cui eseguire il backup.
Nota:
rsyncdistingue tra/home/demoe/home/demo/. Con la barra finale,rsynccopia il contenuto della directory, ma non ricrea la directory. Questo esempio esegue il backup di una cartella da un sistema all'altro, quindi omettendo la barra finale si replica l'intera struttura della directory. -
/backup/Identifica la cartella sul server di backup in cui posizionare i file.
Il tuo output dovrebbe essere simile al seguente esempio:
receiving file list ...
31345 files to consider
./
tuning-primer.sh
42596 100% 533.30kB/s 0:00:00 (xfer#2, to-check=31331/31345)
bin/
bin/Backup
618 100% 7.74kB/s 0:00:00 (xfer#3, to-check=31310/31345)
bin/Search
455 100% 5.70kB/s 0:00:00 (xfer#4, to-check=31309/31345)
configs/
configs/php.ini
114 100% 1.43kB/s 0:00:00 (xfer#5, to-check=31307/31345)
public_html/
...
...
Nell'esempio precedente, rsync riceve un elenco di 31.345 file e, poiché questa è la prima volta rsync è stato eseguito, li scarica tutti. Quando rsync viene eseguito di nuovo, solo i file che sono stati modificati dall'ultimo backup vengono sincronizzati nella cartella di backup.