Rsync: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
verificata, sostituito aptitude (non più presente di default), aggiunte un paio di opzioni utili
m (verificata, sostituito aptitude (non più presente di default), aggiunte un paio di opzioni utili)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
{{Versioni compatibili|Jessie|Stretch|Buster}}
== Introduzione ==
== Introduzione ==
Lo scopo di rsync è quello di sincronizzare il contenuto di due directory qualsiasi in modo unidirezionale, ovvero definita una cartella sorgente ed una di destinazione si otterrà che il contenuto della seconda rispecchi quello della prima. Questo applicativo risulta dunque non (o poco) adatto in tutti quei casi dove l'utente modifica il contenuto di entrambe le cartelle, sorgente e destinazione; in tal caso può essere più utile usare [[Unison e la sincronizzazione di directory | Unison]].
Lo scopo di [[rsync]] è quello di sincronizzare il contenuto di due directory qualsiasi in modo unidirezionale, ovvero definita una cartella sorgente ed una di destinazione si otterrà che il contenuto della seconda rispecchi quello della prima.
 
Questo applicativo risulta dunque non (o poco) adatto in tutti quei casi dove l'utente modifica il contenuto di entrambe le cartelle, sorgente e destinazione; in tal caso può essere più utile usare [[Unison e la sincronizzazione di directory | Unison]].


== Installazione ==
== Installazione ==
Tutto il necessario è disponibile da repository. Per il solo rsync:
Tutto il necessario è disponibile da repository. Per il solo rsync, con [[privilegi di amministrazione]]:
<pre># aptitude install rsync</pre>
<pre># apt install rsync</pre>
Se si desidera invece avere un'interfaccia grafica e si ha installato un ambiente grafico:
Se si desidera invece avere un'interfaccia grafica e si ha installato un ambiente grafico:
<pre># aptitude install grsync</pre>
<pre># apt install grsync</pre>
Notare che installando grsync si installerà automaticamente anche rsync, dipendo il primo da quest'ultimo.
Notare che installando grsync si installerà automaticamente anche rsync, dipendendo il primo da quest'ultimo.


== Utilizzo ==
== Utilizzo ==
Riga 14: Riga 16:
=== rsync ===
=== rsync ===


rsync supporta una moltitudine di parametri, di seguito si fornirà dunque un solo esempio con alcuni dei parametri più comuni:
[[rsync]] supporta una moltitudine di parametri, di seguito si fornirà dunque un solo esempio con alcuni dei parametri più comuni:


<pre>rsync -r -n -t -p -o -g -v --progress --delete -i --exclude-from=/cartella/file_esclusioni.txt /cartella/sorgente/ /cartella/destinazione/</pre>
<pre>rsync -n -r -t -p -o -g -v --progress --delete -i --exclude-from=/cartella/file_esclusioni.txt /cartella/sorgente/ /cartella/destinazione/</pre>


* '''-n''', avvia come simulazione, ovvero mostra solo quello che farebbe senza modificare realmente alcunché. Quest'opzione è FONDAMENTALE, in quanto permette di identificare eventuali comportamenti e/o risultati anomali e quindi di correggere il comando. Si ricordi che un errore nella definizione del comando può comportare la perdita dei dati nella cartella di destinazione o anche in quella sorgente se per esempio si invertono accidentalmente le due. Chiaramente una volta verificato il risultato della sincronizzazione quest'opzione andrà eliminata in modo da far effettivamente sincronizzare le directory.
* '''-r''', sincronizza anche le sottodirectory e tutti i relativi file.
* '''-r''', sincronizza anche le sottodirectory e tutti i relativi file.
* '''-n''', avvia come simulazione, ovvero mostra solo quello che farebbe senza modificare realmente alcunché. Quest'opzione è FONDAMENTALE, in quanto permette di identificare eventuali comportamenti e/o risultati anomali e quindi di correggere il comando. Si ricordi che un errore nella definizione del comando può comportare la perdita dei dati nella cartella di destinazione o anche in quella sorgente se per esempio si invertono accidentalmente le due. Chiaramente una volta verificato il risultato della sincronizzazione quest'opzione andrà eliminata in modo da far effettivamente sincronizzare le directory.
* '''-t''', aggiorna anche la data di "Ultima modifica" dei file copiati nella cartella di destinazione.
* '''-t''', aggiorna anche la data di "Ultima modifica" dei file copiati nella cartella di destinazione.
* '''-p''', imposta per i file nella cartella di destinazione lo stesso schema di permessi di quelli sorgenti.
* '''-p''', imposta per i file nella cartella di destinazione lo stesso schema di permessi di quelli sorgenti.
* '''-o''', imposta per i file nella cartella di destinazione lo stesso proprietario di quelli sorgenti, ove possibile.
* '''-o''', imposta per i file nella cartella di destinazione lo stesso proprietario di quelli sorgenti, ove possibile.
* '''-g''', imposta per i file nella cartella di destinazione lo stesso gruppo di quelli sorgenti, ove possibile.
* '''-g''', imposta per i file nella cartella di destinazione lo stesso gruppo di quelli sorgenti, ove possibile.
* '''-a''', (modalità archivio) è equivalente a impostare tutte le opzioni precedenti (<code>-rtpog</code>), e inoltre mantiene link simbolici, file speciali e (solo se eseguito come [[privilegi di amministrazione|root]]) file dispositivo. Si possono invece trasformare tutti i link simbolici nei file a cui puntano con l'opzione <code>-L</code>, oppure in alternativa anche solo limitatamente a quelli la cui destinazione non verrebbe altrimenti copiata con l'opzione <code>--safe-links</code>.
* '''-v''', aumenta il numero di informazioni stampate a video.
* '''-v''', aumenta il numero di informazioni stampate a video.
* '''--progress''', mostra un indicatore percentuale del progresso delle operazioni. Implica l'opzione ''-v'', pertanto se si specifica ''--progress'' è ridondante specificare anche ''-v'' (come fatto in quest'esempio).
* '''--progress''', mostra un indicatore percentuale del progresso delle operazioni. Implica l'opzione ''-v'', pertanto se si specifica ''--progress'' è ridondante specificare anche ''-v'' (come fatto in quest'esempio).
* '''-u''', (modalità aggiornamento) salta tutti i file già presenti a destinazione con un tempo di modifica più recente oppure con lo stesso tempo di modifica e stessa dimensione. Quindi solo i file non presenti in destinazione oppure quelli meno recenti di quelli sorgenti saranno inviati.
* '''--delete''', elimina nella directory di destinazione tutti i file che non sono presenti nella directory sorgente. Si ricordi che nei log e nelle informazioni stampate a video la voce ''deleting'' è associata solo e soltanto a quei file che sono presenti nella cartella sorgente, ma non in quella di destinazione; se un file è presente nella cartella di destinazione e deve essere sostituito perché quello sorgente ha subito delle modifiche, tale messaggio non compare (le modifiche apportate ad un file sono visibili tramite gli attributi, vedi più avanti).
* '''--delete''', elimina nella directory di destinazione tutti i file che non sono presenti nella directory sorgente. Si ricordi che nei log e nelle informazioni stampate a video la voce ''deleting'' è associata solo e soltanto a quei file che sono presenti nella cartella sorgente, ma non in quella di destinazione; se un file è presente nella cartella di destinazione e deve essere sostituito perché quello sorgente ha subito delle modifiche, tale messaggio non compare (le modifiche apportate ad un file sono visibili tramite gli attributi, vedi più avanti).
* '''-i''', fornisce una serie di indicazioni sulle operazioni che sta eseguendo a riguardo di un certo file o cartella. Maggiori informazioni nell'apposita sezione.
* '''-i''', fornisce una serie di indicazioni sulle operazioni che sta eseguendo a riguardo di un certo file o cartella. Maggiori informazioni nell'apposita sezione.
Riga 74: Riga 78:
'''uitoolkit: gtk''' (es. gnome)
'''uitoolkit: gtk''' (es. gnome)


Quest'interfaccia grafica non è molto elaborata e non fornisce alcuna significativa semplificazione rispetto alla versione testuale, ad eccezione della possibilità di poter creare diversi profili in cui personalizzare le varie opzioni e quindi di non dover perdere tempo a scrivere ogni volta l'intera stringa di opzioni e parametri.<BR>
Quest'interfaccia grafica non è molto elaborata e non fornisce alcuna significativa semplificazione rispetto alla versione testuale, ad eccezione della possibilità di poter creare diversi profili in cui personalizzare le varie opzioni e quindi di non dover perdere tempo a scrivere ogni volta l'intera stringa di opzioni e parametri.<br/>
Si noti che solo alcune opzioni possono essere selezionate graficamente spuntando apposite checkbox, mentre la maggioranza no; viene tuttavia fornito un campo testuale in cui poter scrivere manualmente le stesse opzioni di rsync. Se l'utente volesse potrebbe non spuntare nulla e scrivere manualmente tutte le opzioni in tale campo.<BR>
Si noti che solo alcune opzioni possono essere selezionate graficamente spuntando apposite checkbox, mentre la maggioranza no; viene tuttavia fornito un campo testuale in cui poter scrivere manualmente le stesse opzioni di rsync. Se l'utente volesse potrebbe non spuntare nulla e scrivere manualmente tutte le opzioni in tale campo.<br/>
Le cartelle di destinazione e sorgente possono essere specificate sia digitando direttamente i percorsi negli appositi campi sia utilizzando gli appositi tasti che permetto di selezionare le cartelle graficamente. Qualora una o entrambe le directory da sincronizzare fossero collocate su unità da montare manualmente e per la suddetta operazione di montaggio si usassero file manager come Nautilus, è consigliabile verificare che le cartelle vengano effettivamente montate nella posizione che ci si aspetta; se infatti nei campi sorgenti e destinazione di grsync si è digitato manualmente il percorso delle directory e uno o entrambi non corrispondono all'effettivo punto di montaggio è sempre possibile che grsync crei autonomamente tale/i cartella/i, con la conseguenza di non andare a sincronizzare le cartelle desiderate. Se per esempio si sbaglia la cartella di destinazione e rsync ne crea una nuova (quindi vuota) si noterà che tutti i file nella cartella di destinazione vengono aggiornati senza che contestualmente nessuno venga cancellato.
Le cartelle di destinazione e sorgente possono essere specificate sia digitando direttamente i percorsi negli appositi campi sia utilizzando gli appositi tasti che permetto di selezionare le cartelle graficamente. Qualora una o entrambe le directory da sincronizzare fossero collocate su unità da montare manualmente e per la suddetta operazione di montaggio si usassero file manager come Nautilus, è consigliabile verificare che le cartelle vengano effettivamente montate nella posizione che ci si aspetta; se infatti nei campi sorgenti e destinazione di grsync si è digitato manualmente il percorso delle directory e uno o entrambi non corrispondono all'effettivo punto di montaggio è sempre possibile che grsync crei autonomamente tale/i cartella/i, con la conseguenza di non andare a sincronizzare le cartelle desiderate. Se per esempio si sbaglia la cartella di destinazione e rsync ne crea una nuova (quindi vuota) si noterà che tutti i file nella cartella di destinazione vengono aggiornati senza che contestualmente nessuno venga cancellato.


Riga 96: Riga 100:


{{Autori
{{Autori
| Autore = [[Utente:Wtf|Wtf]] 15:10, 14 set 2012 (CEST)
|Autore = [[Utente:Wtf|Wtf]] 15:10, 14 set 2012 (CEST)
|Verificata_da =
: [[Utente:HAL 9000|HAL 9000]] 15:31, 21 set 2019 (CEST)
|Numero_revisori = 1
}}
}}


[[Categoria:Backup&restore]]
[[Categoria:Backup&restore]]
3 581

contributi

Menu di navigazione