Rsync: differenze tra le versioni

m
minimalia
m (minimalia)
Riga 23: Riga 23:


* '''-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 definzione 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.
* '''-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.
Riga 46: Riga 46:
# La terza parte è costituita da 9 caratteri che possono assumere ciascuno solo cinque valori: quello indicato dalla lettera specificata nel codice ad inizio paragrafo, un '''.''', un '''+''', uno spazio o un '''?'''. Un punto indica come per la prima parte che l'attributo considerato non è cambiato, mentre un punto di domanda indica che il valore di tale attributo non è stato possibile identificarlo. Il carattere "più" compare solo nel caso di file presenti nella sorgente, ma assenti nella destinazione e sostituisce simultaneamente tutti gli attributi; in tal caso il codice risultante è quindi <code>f+++++++++</code> o <code><f+++++++++</code> (creazione di un nuovo file). Se due oggetti sono identici, ai punti vengono sostituiti gli spazi. Di seguito il significato delle lettere:
# La terza parte è costituita da 9 caratteri che possono assumere ciascuno solo cinque valori: quello indicato dalla lettera specificata nel codice ad inizio paragrafo, un '''.''', un '''+''', uno spazio o un '''?'''. Un punto indica come per la prima parte che l'attributo considerato non è cambiato, mentre un punto di domanda indica che il valore di tale attributo non è stato possibile identificarlo. Il carattere "più" compare solo nel caso di file presenti nella sorgente, ma assenti nella destinazione e sostituisce simultaneamente tutti gli attributi; in tal caso il codice risultante è quindi <code>f+++++++++</code> o <code><f+++++++++</code> (creazione di un nuovo file). Se due oggetti sono identici, ai punti vengono sostituiti gli spazi. Di seguito il significato delle lettere:
#* '''c''', nel caso di file indica che il checksum tra il file sorgente e quello nella cartella di destinazione varia.
#* '''c''', nel caso di file indica che il checksum tra il file sorgente e quello nella cartella di destinazione varia.
#* '''s''', indica che la dimensione del file sorgente é differente da quella del file di destinazione. In questo caso si ha sempre un aggiornamento del file di destinazione.
#* '''s''', indica che la dimensione del file sorgente è differente da quella del file di destinazione. In questo caso si ha sempre un aggiornamento del file di destinazione.
#* '''t''', indica che la data di "ultima modifica" del file sorgente é differente da quella del file di destinazione. Perché questo attributo sia valutato occorre che nella riga di comando sia stata specificata l'opzione ''-t'', allora la data di ultima modifica del file di destinazione sarà sincronizzata con quella del file sorgente, viceversa no. Si noti che se si è scelto di aggiornare i file in base alla sola dimensione dei file e sia la sorgente che la destinazione conincidono dimensionalmente, allora non ci sarà alcun trasferimento del file, ma solo il suddetto aggiornamento della data di "ultima modifica". Se un file viene invece trasferito evidentemente viene trasferito anche la data di "ultima modifica" a prescindere che fosse stata o meno specificata l'opzione ''-t'' nella riga di comando.
#* '''t''', indica che la data di "ultima modifica" del file sorgente è differente da quella del file di destinazione. Perché questo attributo sia valutato occorre che nella riga di comando sia stata specificata l'opzione ''-t'', allora la data di ultima modifica del file di destinazione sarà sincronizzata con quella del file sorgente, viceversa no. Si noti che se si è scelto di aggiornare i file in base alla sola dimensione dei file e sia la sorgente che la destinazione coincidono dimensionalmente, allora non ci sarà alcun trasferimento del file, ma solo il suddetto aggiornamento della data di "ultima modifica". Se un file viene invece trasferito evidentemente viene trasferito anche la data di "ultima modifica" a prescindere che fosse stata o meno specificata l'opzione ''-t'' nella riga di comando.
#* '''p''', indica una discrepanza nello schema dei permessi tra file sorgente e destinazione. Perché questo attributo sia valutato occorre che nella riga di comando sia stata specificata l'opzione ''-p''; se possibile lo schema permessi della destinazione sarà uniformato a quello del sorgente.
#* '''p''', indica una discrepanza nello schema dei permessi tra file sorgente e destinazione. Perché questo attributo sia valutato occorre che nella riga di comando sia stata specificata l'opzione ''-p''; se possibile lo schema permessi della destinazione sarà uniformato a quello del sorgente.
#* '''o''', significa che il proprietario del file sorgente e di quello nella cartella di destinazione sono differenti. Perché questo attributo sia valutato occorre che nella riga di comando sia stata specificata l'opzione ''-o''; se possibile il proprietario della destinazione sarà uniformato a quello del sorgente.
#* '''o''', significa che il proprietario del file sorgente e di quello nella cartella di destinazione sono differenti. Perché questo attributo sia valutato occorre che nella riga di comando sia stata specificata l'opzione ''-o''; se possibile il proprietario della destinazione sarà uniformato a quello del sorgente.
Riga 68: Riga 68:
- Scaricati/*
- Scaricati/*
</pre>
</pre>
Come si vede per ogni riga è stata indicata una risorsa, inoltre per ciascuna è stato premesso un '''-''' per definire un esclusione o un '''+''' per un inclusione. Sebbene il parametro serva a definire una lista di risorse da escludere il modo con cui esegue le operazioni rsync richiede che in alcuni casi si specifichino anche le risorse da includere. Questo perché rsync in caso contrario salterebbe completamente tutte le sottocartelle di una cartella esclusa; si aggiunga inoltre che scrivendo <code>- Musica</code> si ottiene l'effetto di saltare a pie pari tutte le cartelle di nome <code>Musica/</code>, ovvero ipotizzando di avere una sottocartella <code>Documenti/Musica/</code> anche questà sarà esclusa dalle operazioni di sincronizzazione e non solo ad esempio <code>~/Musica</code>.<BR>
Come si vede per ogni riga è stata indicata una risorsa, inoltre per ciascuna è stato premesso un '''-''' per definire un esclusione o un '''+''' per un inclusione. Sebbene il parametro serva a definire una lista di risorse da escludere il modo con cui esegue le operazioni rsync richiede che in alcuni casi si specifichino anche le risorse da includere. Questo perché rsync in caso contrario salterebbe completamente tutte le sottocartelle di una cartella esclusa; si aggiunga inoltre che scrivendo <code>- Musica</code> si ottiene l'effetto di saltare a pie pari tutte le cartelle di nome <code>Musica/</code>, ovvero ipotizzando di avere una sottocartella <code>Documenti/Musica/</code> anche questa sarà esclusa dalle operazioni di sincronizzazione e non solo ad esempio <code>~/Musica</code>.<BR>
Il punto è che rsync legge dal'inizio la lista delle esclusioni ogni volta che esamina una nuova directory, ecco perché ammesso di avere la sola sottocartella ''Programmi'' in ''Scaricati'' e volendo omettere dalla sincronizzazione i soli file contenuti in ''Scaricati'' è necessario adottare l'ordine e la sintassi dell'esempio.<BR>
Il punto è che rsync legge dall'inizio la lista delle esclusioni ogni volta che esamina una nuova directory, ecco perché ammesso di avere la sola sottocartella ''Programmi'' in ''Scaricati'' e volendo omettere dalla sincronizzazione i soli file contenuti in ''Scaricati'' è necessario adottare l'ordine e la sintassi dell'esempio.<BR>
Come intuibile il carattere '''*''' permette di includere o escludere tutti i file, l'espressione '''.*''' solo i file nascosti e quella '''*.*~''' tutti file terminanti con il carattere tilde.
Come intuibile il carattere '''*''' permette di includere o escludere tutti i file, l'espressione '''.*''' solo i file nascosti e quella '''*.*~''' tutti file terminanti con il carattere tilde.


Riga 76: Riga 76:
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.


= Approfondimenti =
= Approfondimenti =
Riga 91: Riga 91:
{{
{{
Autori
Autori
| Autore =
| Autore = [[Utente:Wtf|Wtf]] 15:10, 14 set 2012 (CEST)
: [[Utente:Wtf|Wtf]] 15:10, 14 set 2012 (CEST)
}}
}}


[[Categoria:Filesystem]]
[[Categoria:Filesystem]]
6 999

contributi