GNU/Linux >> Linux Esercitazione >  >> Linux

Esempi di comandi Linux rsync

Rsync, abbreviazione di sincronizzazione remota , è un comando Linux utilizzato per copiare e sincronizzare file, tra 2 sistemi Linux. Funziona in modo tale che eventuali modifiche aggiuntive apportate a un file o una directory vengano replicate su un altro sistema Linux.

Con il comando Linux rsync, puoi copiare e sincronizzare senza problemi i backup in locale e in remoto tra sistemi e server Linux. In questo articolo, esamineremo varie opzioni di comando che puoi utilizzare insieme al comando rsync.

Sintassi di base per il comando Linux rsync

La sintassi per rsync è brevemente riassunta di seguito.

$ rsync options source destination

Opzioni utilizzate con il comando rsync

  • -z :comprime i dati.
  • -v :Visualizza il processo in modalità dettagliata.
  • -r :l'opzione copia i dati in modo ricorsivo (tuttavia, l'opzione non conserva i timestamp e i permessi sui file durante il trasferimento dei dati).
  • -h :genera informazioni in un formato leggibile dall'uomo.
  • -a :Ciò non solo consente la copia ricorsiva dei file, ma conserva anche i collegamenti simbolici, i timestamp, i permessi dei file, nonché le proprietà di utenti e gruppi.

Copia file e directory in locale

Puoi sincronizzare file localmente da una posizione all'altra in una macchina Linux usando l'esempio fornito di seguito.

$ rsync -zvh backup.tar /opt/backup_dir

Nell'esempio sopra, il tarball backup.tar viene copiato e sincronizzato in /opt/backup_dir directory.

Risultato di esempio

Per copiare una directory in locale da una posizione all'altra :

La sintassi sarà simile alla copia di file, solo che in questo caso utilizziamo il -a flag per la copia ricorsiva.

Nell'esempio seguente, stiamo copiando e sincronizzando i deb_packages directory nella /opt/backup_dir directory.

$ rsync -azvh deb_packages /opt/backup_dir

Risultato di esempio

Copia/sincronizza file o directory da e verso un server remoto

Per copiare una directory su un server remoto, è necessario specificare il nome utente e l'indirizzo IP del server accanto alla cartella di destinazione.

Nell'esempio seguente, i deb_packages la directory viene copiata su un server remoto con un IP 66.152.163.19 utilizzando le credenziali dell'utente root e salvate nella home directory principale.

$ rsync -avz deb_packages [email protected]: 

Risultato di esempio

Per copiare e sincronizzare una directory da un server remoto su un PC locale :

Per copiare e sincronizzare file da un sistema remoto a un sistema Linux locale, utilizza l'esempio seguente

$ rsync -avzh [email protected]:documents /opt/backup_dir

Nell'esempio sopra, la directory documents viene copiato in modo ricorsivo dal sistema remoto con un IP 66.152.163.19 al sistema locale nella /opt/backup_dir directory.

Comando Rsync su SSH

Rsync può essere utilizzato insieme al protocollo SSH per proteggere o crittografare i file inviati da e verso un sistema Linux. questo assicura che nessuno possa intercettare i dati che stai trasferendo sulla rete.

Per copiare un file da un server locale a un server remoto utilizzando rsync su SSH:

In questo esempio useremo il -e opzione con rsync per specificare un protocollo, in questo caso SSH.

$ rsync -avhze ssh backup.tar [email protected]:/backup_dir

Risultato di esempio

Per copiare un file da un server remoto a un sistema locale utilizzando rsync su SSH:

Proprio come nell'esempio precedente, il comando rsync viene utilizzato insieme a -e opzione.

$ rsync -avzhe ssh [email protected]:/backup_dir /tmp/

Risultato di esempio

Visualizza l'avanzamento durante il trasferimento dei dati con il comando rsync

Se desideri visualizzare lo stato di avanzamento durante il trasferimento dei dati, utilizza il --progress opzione. Viene visualizzato il file e il tempo stimato per il completamento del trasferimento dei dati.

Risultato di esempio

Comando Linux rsync con opzioni –include e –exclude

Queste opzioni sopra aiutano gli utenti a include e exclude file che potrebbero voler includere o escludere nel processo di sincronizzazione.

Nell'esempio seguente, il comando rsync includerà quei file in /var/lib directory che inizia con 'p' ed esclude tutti gli altri file e directory.

$ rsync -avz --include 'p*' --exclude '*' /var/lib [email protected]:/opt/backup_dir

Risultato di esempio

Imposta la dimensione massima dei file da trasferire

Puoi definire la dimensione massima del file che deve essere trasferito e sincronizzato utilizzando l'opzione "–max-size".

$ rsync -avzh --max-size='50M' deb_packages [email protected]:/opt/backup-dir

Il comando sopra limita il trasferimento di file in deb_packages directory a 50 Megabyte. Ciò implica che verranno trasferiti e sincronizzati solo i file uguali o inferiori a 50 MB.

Risultato di esempio

Elimina i file di origine dopo il trasferimento riuscito

Se stai facendo una copia di backup dei tuoi file su una destinazione remota ma desideri non conservarne una copia locale, usa il –remove-source-files opzione come mostrato.

$ rsync --remove-source-files -zvh backup.tar /tmp/mybackups/

Risultato di esempio

Speriamo che questo articolo ti sia stato utile. In caso di domande, contattaci con il tuo feedback.


Linux
  1. sa Esempi di comandi in Linux

  2. w Esempi di comandi in Linux

  3. ac Esempi di comandi in Linux

  4. Esempi di comandi df in Linux

  5. du Esempi di comandi in Linux

Du comando in Linux

Comando CD Linux con esempi

Comando mv in Linux

5 Esempi pratici di comando "cd" in Linux

15 esempi pratici di comando Rsync in Linux

Esempi di comandi id in Linux