Come utilizzare il comando RSYNC per copiare i file su Ubuntu

Come utilizzare il comando RSYNC per copiare i file su Ubuntu
rsync è uno strumento per copiare i file. RSYNC viene utilizzato per copiare i file dal tuo computer a una macchina remota, da una macchina remota al computer, da una directory a un'altra directory sullo stesso computer, dal tuo computer a un disco rigido esterno o una condivisione di rete ecc. RSYNC può anche essere usato per eseguire backup incrementali.

In questo articolo, ti mostrerò come utilizzare il comando RSYNC per copiare file e directory e prendere un backup incrementale. Userò Ubuntu per la dimostrazione. Ma qualsiasi distribuzione di Linux moderna dovrebbe funzionare bene. Quindi iniziamo.

Installazione di rsync:

RSYNC dovrebbe già essere installato su Ubuntu. Ma, se non è installato sul tuo computer per qualche motivo, puoi facilmente installarlo dal repository di pacchetti ufficiali di Ubuntu con il seguente comando:

$ sudo apt install rsync -y

Formato del comando rsync:

Il formato di base del comando rsync è,

$ rsync Opzioni Opzioni Destinata
  • fonte può essere un file o una directory o un percorso di rete.
  • destinazione Può essere una directory o un percorso di rete.
  • rsync ha molte opzioni. Puoi cambiare il comportamento di rsync usando queste opzioni. Daremo un'occhiata ad alcune delle opzioni più comuni lungo la strada.

Quando usi rsync, devi sapere le seguenti cose:

  • Se metti un / Dopo il nome della directory in fonte di rsync come i miei file/, quindi significa copiare tutti i file dall'interno della directory solo al destinazione.
  • Se non metti un / Dopo il nome della directory in fonte di rsync come i miei file, quindi rsync copierà tutti i file dalla directory a destinazione compresa la directory.
  • Se digiti un file destinazione Percorso di directory che non esiste, quindi Rsync lo creerà automaticamente come richiesto.

Eseguire il backup di file e directory locali con rsync:

Puoi copiare i file da una directory a un'altra directory sul tuo computer molto rapidamente con rsync.

Ad esempio, diciamo, hai alcuni file importanti nel ~/Download directory. Ora, vuoi eseguire il backup di tutti i file da ~/Download Directory al tuo drive USB /dev/sdb1 montato nella directory /mnt/myusb.

Facciamo alcuni file fittizi in ~/Download directory.

$ touch ~/downloads/test 1… 100

Ora, copia tutti i file dal ~/Download directory a /mnt/myusb Directory con il seguente comando RSYNC:

$ rsync -avzh ~/downloads//mnt/myusb

I file devono essere copiati.

Come puoi vedere, i file sono in /mnt/myusb directory.

Puoi anche copiare il tutto ~/Download Directory al tuo drive USB come segue:

$ rsync -avzh ~/downloads/mnt/myusb

Come puoi vedere, l'intera directory viene copiata sul pollice USB.

Ancora una volta, se si desidera copiare tutti i file da ~/Download directory a un'altra directory (diciamo mydownloads/) Sul tuo drive USB, esegui Rsync come segue:

$ rsync -avzh ~/downloads//mnt/myusb/mydownloads

Come puoi vedere, i file vengono copiati correttamente sull'unità del pollice USB.

Eseguire il backup di file e directory remote con rsync:

Con RSYNC, è possibile copiare file e directory da un server remoto al filesystem locale o al pollice USB per scopi di backup. Puoi anche copiare file e directory dal tuo filesystem locale al server di backup remoto. RSYNC utilizza SSH per copiare file e directory da/dal server remoto.

Devi avere un pacchetto server ssh (OpenSsh-Server su ubuntu) e rsync pacchetto installato sul server remoto se si desidera utilizzare RSYNC per scopi di backup dei file.

Ad esempio, diciamo, vuoi copiare tutti i contenuti (inclusa la directory) del /www Directory dal tuo server remoto www.Esempio 1.com al tuo trampolino di pollice USB montato sul sentiero /mnt/myusb sul tuo filesystem locale.

Per fare ciò, è possibile utilizzare il seguente comando RSYNC:

$ rsync -avzh [email protected] 1.com:/www/mnt/myusb

NOTA: Qui, radice è il nome utente remoto, www.Esempio 1.com è il nome DNS del server remoto e /www è un percorso di directory sul server remoto. È inoltre possibile utilizzare l'indirizzo IP del server remoto anziché del nome DNS se lo si desidera.

Potresti vedere il seguente messaggio se ti stai collegando al server remoto per la prima volta. Basta digitare e poi premere .

Ora, digita la password per l'utente remoto (nel mio caso è radice) e premere .

Tutti i file e le directory all'interno del /www directory inclusa la directory /www dovrebbe essere copiato sull'unità di scatto USB come puoi vedere nello screenshot qui sotto.

Puoi anche copiare file dal file system locale sul server remoto con RSYNC.

Nell'esempio precedente, hai fatto un backup del /www Directory sul server remoto. Ora, diciamo, alcuni file nel server remoto sono danneggiati e si desidera recuperarli dal backup.

Per fare ciò, eseguire il comando RSYNC come segue:

$ rsync -avzh/mnt/myusb/www/[email protected] 1.com:/www

Ora, digita la password del server remoto e premere .

I file devono essere copiati dal file system locale al server remoto.

Prendendo backup incrementali con rsync:

In questo tipo di backup, il fonte E destinazione Le directory sono tenute in sincronizzazione. Se viene aggiunto un file al file fonte directory, viene aggiunto al destinazione anche directory. Allo stesso modo, se qualche file o directory da fonte La directory viene rimossa, viene rimossa da destinazione anche directory.

RSYNC è un ottimo strumento per eseguire il backup incrementale.

Diciamo, hai una directory ~/cloud Nel tuo utente CASA directory. Ora, si desidera eseguire il backup incrementale della directory in un tragominio USB montato sul sentiero /mnt/usb1 su un server remoto backup.esempio.com.

NOTA: Tu devi avere OpenSsh-Server E rsync pacchetti installati sul server remoto per questo.

Per eseguire il backup incrementale del ~/cloud, Esegui il seguente comando:

$ RSYNC -AVZH -DELETE --Progress ~/ Cloud/ [email protected]:/mnt/usb1/backup

Ora, digita la password per l'utente remoto e premere .

Il contenuto del ~/cloud La directory deve essere copiata sull'unità del pollice USB sul server remoto.

Come puoi vedere, tutti i file vengono copiati sull'unità di pollice USB montata sul server di backup remoto.

Ora, rimuoviamo un file dal file system locale e vediamo cosa succede.

$ rm ~/cloud/pacchetti.TXT

Ora, usa rsync per sincronizzare nuovamente le directory con lo stesso comando di prima.

$ RSYNC -AVZH -DELETE --Progress ~/ Cloud/ [email protected]:/mnt/usb1/backup

Come puoi vedere, il file Pacchetti.TXT viene inoltre rimosso dall'unità di pollice USB montata sul server di backup remoto.

Dove andare dopo:

Puoi trovare ulteriori informazioni su RSYNC nella pagina Man di RSYNC. La pagina man di rsync ha una descrizione dettagliata su tutte le opzioni di rsync. Ti consiglio vivamente di controllarlo.

È possibile accedere alla pagina Man di RSYNC con il seguente comando:

$ MAN RSYNC

Quindi, è così che usi RSYNC per copiare i file e prendere backup incrementali su Ubuntu. Grazie per aver letto questo articolo.