OpenMediaVault (OMV) su Raspberry Pi ⋆ NAS economico a casa
Sommario:
- Installazione di Rsync
- Installa Rsync su Ubuntu e Debian
- Installa Rsync su CentOS e Fedora
- Sintassi del comando Rsync
- Utilizzo di base di Rsync
- Come utilizzare Rsync per sincronizzare i dati da / verso una macchina remota
- Escludi file e directory
- Conclusione
Rsync è un'utilità da riga di comando rapida e versatile che sincronizza file e cartelle tra due posizioni su una shell remota o da / a un demone Rsync remoto. Fornisce un rapido trasferimento incrementale dei file trasferendo solo le differenze tra l'origine e la destinazione.
Rsync può essere utilizzato per il mirroring di dati, backup incrementali, copia di file tra sistemi e in sostituzione dei comandi
scp
,
sftp
e
cp
per l'uso quotidiano.
In questo tutorial, ti mostreremo come utilizzare
rsync
attraverso esempi pratici e spiegazioni dettagliate delle opzioni
rsync
più comuni.
Installazione di Rsync
L'utility
rsync
è preinstallata sulla maggior parte delle distribuzioni Linux e macOS. Puoi verificare se è installato sul tuo sistema digitando:
rsync --version
rsync version 3.1.2 protocol version 31
Installa Rsync su Ubuntu e Debian
Installa Rsync su CentOS e Fedora
Sintassi del comando Rsync
Prima di andare su come utilizzare il comando
rsync
, iniziamo esaminando la sintassi di base.
Le espressioni dell'utilità
rsync
assumono la seguente forma:
Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…
-
OPTION
- Le opzioni rsync.SRC
- Directory di origine.DEST
- Directory di destinazione.USER
- Nome utente remoto.HOST
- Nome host remoto o indirizzo IP.
rsync
fornisce una serie di opzioni che controllano ogni aspetto del suo comportamento. Le opzioni più utilizzate sono:
-
-a
,--archive
, modalità archivio, equivalente a-rlptgoD
. Questa opzione dice arsync
di sincronizzare ricorsivamente le directory, trasferire dispositivi speciali e bloccare, conservare collegamenti simbolici, tempi di modifica, gruppo, proprietà e permessi.-z
,--compress
. Questa opzione forzarsync
a comprimere i dati mentre vengono inviati al computer di destinazione. Utilizzare questa opzione solo se la connessione al computer remoto è lenta.-P
, equivalente a--partial --progress
. Quando viene utilizzata questa opzione,rsync
mostrerà una barra di avanzamento durante il trasferimento e manterrà i file parzialmente trasferiti. È utile quando si trasferiscono file di grandi dimensioni su connessioni di rete lente o instabili.--delete
. Quando si utilizza questa opzione,rsync
eliminerà i file estranei dalla posizione di destinazione. È utile per il mirroring.-q
,--quiet
. Utilizzare questa opzione se si desidera eliminare i messaggi non di errore.-e
. Questa opzione ti consente di scegliere una shell remota diversa. Per impostazione predefinita,rsync
è configurato per usare ssh.
Utilizzo di base di Rsync
Per copiare un singolo file da uno a un altro percorso locale è necessario eseguire il comando seguente:
rsync -a /opt/filename.zip /tmp/
L'utente che esegue il comando deve disporre delle autorizzazioni di lettura sulla posizione di destinazione e delle autorizzazioni di scrittura sulla destinazione.
Se si omette il nome file dalla posizione di destinazione, il file viene copiato con il nome corrente. Se si desidera salvare il file con un nome diverso, specificare il nuovo nome nella parte di destinazione:
rsync -a /opt/filename.zip /tmp/newfilename.zip
Nell'esempio seguente stiamo creando un backup locale dei file del nostro sito Web:
rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/
Se la directory di destinazione non esiste,
rsync
la creerà.
Vale la pena ricordare che
rsync
offre un trattamento diverso alle directory dei sorgenti con una barra finale
/
. Se aggiungi una barra finale nella directory di origine, copierà solo il contenuto della directory nella directory di destinazione. Quando la barra finale viene omessa,
rsync
copia la directory di origine all'interno della directory di destinazione.
Come utilizzare Rsync per sincronizzare i dati da / verso una macchina remota
Quando si utilizza
rsync
per il trasferimento remoto, deve essere installato sia sul computer di origine che su quello di destinazione. Le nuove versioni di
rsync
sono configurate per utilizzare SSH come shell remota predefinita.
Nel seguente esempio, stiamo trasferendo una directory da un computer locale a un computer remoto:
rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/
Se non hai impostato un accesso SSH senza password al computer remoto, ti verrà chiesto di inserire la password dell'utente.
Se si desidera trasferire i dati da un telecomando a un computer locale, è necessario utilizzare la posizione remota come sorgente:
rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/
Se SSH sull'host remoto è in ascolto su una porta diversa dalla 22 predefinita, è possibile specificare la porta utilizzando l'opzione
-e
:
rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/
Quando si trasferiscono grandi quantità di dati, si consiglia di eseguire il comando
rsync
all'interno di una sessione dello schermo o utilizzare l'opzione
-P
:
rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/
Escludi file e directory
Quando si escludono file o directory, è necessario utilizzare i percorsi relativi alla posizione di origine.
Esistono due opzioni per escludere file e directory. La prima opzione è usare l'argomento
--exclude
e specificare i file e le directory che si desidera escludere dalla riga di comando.
Nel seguente esempio, stiamo escludendo le
tmp
node_modules
e
tmp
che si trovano all'interno della
src_directory
:
rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/
La seconda opzione è usare l'argomento
--exclude-from
e specificare i file e le directory che si desidera escludere in un file.
rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/
/exclude-file.txt
Conclusione
In questo tutorial, hai imparato come usare Rsync per copiare e sincronizzare file e directory. C'è molto altro da sapere su Rsync nella pagina del Manuale dell'utente di Rsync.
Sentiti libero di lasciare un commento in caso di domande.
terminale rsync2 eccellenti suggerimenti per skydrive per un facile trasferimento e sincronizzazione delle cartelle
Questo post mostra come sincronizzare qualsiasi cartella su Windows con SkyDrive (sì, non spostare) e come spostare rapidamente qualsiasi cartella su SkyDrive. Entrambi i consigli interessanti!
Come utilizzare la sincronizzazione per il backup, la sincronizzazione e il ripristino dei dati
Come utilizzare Syncback per eseguire il backup, sincronizzare e ripristinare i dati nei computer Windows.
Come creare ed elencare rami git locali e remoti
Quando si corregge un bug o si lavora su una nuova funzionalità, gli sviluppatori stanno creando un nuovo ramo che in seguito può essere unito alla base di codice principale. Questa guida illustra come creare ed elencare filiali Git locali e remote.