Copiare e fare il backup di file e cartelle utilizzando l'utilità Rsync | INTROSERV
EUR
european

EUR

usa

USD

Italy It
Ex. VAT Ex. VAT 0%

Copiare e fare il backup di file e cartelle utilizzando l'utilità Rsync

Rsync è uno strumento veloce e versatile per copiare file e cartelle. L'utility può copiare dati sia localmente che su altri host, incluso Cloud Storage di INTROSERV. Le opzioni dell'utility consentono di controllare molti aspetti della copia e del mirroring dei dati. Una funzione utile è la possibilità di comprimere i dati durante il trasferimento, il che può ridurre il traffico di rete e migliorare la velocità di trasferimento quando la larghezza di banda della rete è il fattore limitante. Un altro vantaggio è che Rsync evita di trasferire i file che non necessitano di aggiornamento. Per impostazione predefinita, confronta le dimensioni del file e l'ora di modifica, trasferendo solo i file che sembrano essere cambiati, il che consente senza dubbio di risparmiare tempo nella sincronizzazione di directory di grandi dimensioni.

Info

Perché usare il flag -a? L'opzione -a (archive) è la scelta più comune. Abilita la copia ricorsiva e conserva gli attributi comuni dei file: permessi, proprietario, gruppo, orari di modifica e collegamenti simbolici. Poiché -a include già la ricorsione, non è necessario aggiungere -r separatamente.

Opzioni dell'utility

Vediamo alcuni esempi dell'utilizzo di Rsync per copiare file e directory sul Cloud Storage remoto di INTROSERV tramite il protocollo SSH.

Info

Questi comandi sono universali. Basta sostituire l'indirizzo di destinazione e il percorso per sincronizzare i file con qualsiasi server remoto tramite SSH.

Diamo un'occhiata ad alcune delle principali opzioni dell'utility che verranno utilizzate più spesso. Un elenco più dettagliato delle opzioni disponibili è disponibile nella documentazione man (comando man rsync):

-v – mostra informazioni dettagliate sul processo
-c – verifica i checksum dei file
-q – informazioni minime
-a – modalità di archiviazione
-R – percorsi relativi
-y – non sovrascrivere i file più recenti
-b – crea una copia di backup
-l – copia i collegamenti simbolici
-L – copia il contenuto dei collegamenti
-H – copia i collegamenti fisici
-g – salva il gruppo
-p – mantiene i permessi dei file
-t – salva l'ora di modifica
-x – opera solo in questo file system
-e – utilizza un altro protocollo di trasporto (ad esempio, ssh)
-z – comprime i file prima del trasferimento
--delete – elimina i file che non sono nell'origine
--exclude – esclude i file
--recursive – elenca le directory in modo ricorsivo
--no-recursive – disabilita la ricorsione
--progress – mostra l'avanzamento del trasferimento dei file
--stat – mostra le statistiche di trasferimento
--max-size – dimensione massima del file per il trasferimento
--bwlimit – limite di velocità per i trasferimenti di file

Breve spiegazione della sintassi

Warning

La regola della barra finale (/). È qui che la maggior parte degli utenti commette errori: /cartella (senza barra) copia la cartella stessa. /cartella/ (con barra) copia solo il contenuto della cartella.

rsync -az --progress /home/user/test.file boxxxx@storage_ip:/remote_folder/

-a – modalità archivio: una copia ricorsiva che conserva gli attributi dei file

-z – comprime i dati durante il trasferimento

--progress – mostra l'avanzamento del trasferimento

/home/user/test.file – questo è il percorso del file e il file effettivo che deve essere trasferito

boxxxx@storage_ip: – questa è la risorsa di destinazione (nel nostro esempio si tratta di cloud storage, ma può anche essere un server remoto). boxxxx è il nome utente, dopo il segno @ si trova il nome della risorsa o l'indirizzo IP del server remoto

/remote_folder/ – questa è una cartella su una risorsa remota. Nel nostro esempio, in INTROSERV Cloud Storage.

Copiare un file in una cartella su uno storage remoto

rsync -az --progress /home/user/Desktop/test.file boxxxx@storage_ip:/remote_folder/

Vi verrà richiesta una password per connettervi allo storage. Inserite la password e continuate; vedrete l'avanzamento e la velocità di trasferimento del file.

Copiare una cartella nella cartella su uno storage remoto

Prestate attenzione alle barre nelle righe della cartella di origine e della cartella di destinazione. L'assenza di una barra nella cartella di origine indica che vogliamo trasferire la cartella locale Desktop stessa, con tutto il suo contenuto, nella cartella remote_folder.

rsync -az --progress /home/user/Desktop boxxxx@storage_ip:/remote_folder/

Vedrete la directory e tutti i file al suo interno mentre vengono trasferiti.

Copiare il contenuto di una cartella locale in una cartella su uno storage remoto

Prestate attenzione alla barra alla fine della cartella di origine. La sua presenza indica che l'utility deve copiare il contenuto della cartella locale in una cartella sullo storage remoto.

rsync -az --progress /home/user/Desktop/ boxxxx@storage_ip:/remote_folder/

Vedrete l'avanzamento e la velocità di copia.

Copiare una cartella da uno storage remoto a una cartella del server locale

Con Rsync, potete avviare la copia di una cartella da uno storage remoto. Il comando è il seguente:

rsync -az --progress boxxxx@storage_ip:/remote_folder /home/user/Desktop/

Vedrete l'avanzamento e la velocità di copia di una cartella remota in una cartella sul server locale.

Copiare il contenuto di una cartella da uno storage remoto a una cartella del server locale

Anche qui vale la pena prestare attenzione alla barra alla fine del percorso della cartella di origine. La sua presenza indica che è necessario copiare solo il contenuto della cartella.

rsync -az --progress boxxxx@storage_ip:/remote_folder/ /home/user/Desktop/

Copiare il contenuto di una cartella escludendo e/o includendo file

L'utility consente di specificare esplicitamente quali file trasferire e quali devono essere esclusi. Per fare ciò, utilizzate le opzioni --include e --exclude. Le regole vengono elaborate in ordine, quindi una regola di inclusione deve precedere una regola di esclusione che altrimenti corrisponderebbe allo stesso file.

Tip

Testate con un'esecuzione di prova. Prima di eseguire un comando che modifica o elimina molti file, aggiungete il flag -n o --dry-run. Rsync vi mostrerà esattamente cosa farebbe senza effettivamente spostare o eliminare nulla.

rsync -az --progress --include='test.file' --exclude='*' /home/user/Desktop/ boxxxx@storage_ip:/remote_folder/

Questo comando trasferisce test.file ed esclude tutto il resto nella directory di origine. La regola --exclude='*' è ciò che limita il trasferimento al singolo file incluso, quindi qui entrambe le opzioni sono necessarie insieme.

Copiare solo i file diversi dai file nella cartella di destinazione

Per impostazione predefinita, Rsync decide se un file deve essere trasferito in base alle sue dimensioni e all'ora di modifica. Utilizzate l'opzione -c quando volete che Rsync confronti invece il contenuto dei file tramite checksum. Questo è più affidabile quando non ci si può fidare dei timestamp, ma è più lento, poiché entrambe le parti devono leggere i file per calcolare i checksum.

rsync -azc --progress /home/user/Desktop/ boxxxx@storage_ip:/remote_folder/

Con -c, Rsync confronta il contenuto dei file di origine e di destinazione tramite checksum e trasferisce solo i file il cui contenuto differisce.

Utilizzo di Rsync tramite SSH con una porta SSH non standard

Per trasferire file da/verso un server con la porta SSH modificata, utilizzate l'opzione -e 'ssh -p port_number'.

Il comando per copiare un file su un server in cui la porta SSH è stata modificata a 44 sarà simile a questo:

rsync -azc --progress -e 'ssh -p 44' /home/user/Desktop/ user@server_ip:/remote_folder/

Info

Nota sulla sicurezza: la modifica della porta SSH predefinita può ridurre le scansioni automatizzate e i tentativi di connessione indesiderati, ma non sostituisce un'adeguata sicurezza SSH come l'autenticazione basata su chiavi e le regole del firewall. Assicuratevi sempre che il vostro firewall consenta il traffico sulla porta scelta.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA