GNU/Linux >> Linux Esercitazione >  >> Debian

Come eseguire il backup di file e cartelle in Debian 10

Nel mondo IT, è importante conservare una copia dei tuoi dati il ​​più possibile per poterli utilizzare quando necessario in caso di guasto del disco o di rimozione per errore. Pertanto, eseguire un backup regolare alla fine della giornata è una buona pratica per un utente responsabile del computer.

Il comando 'rsync' viene normalmente utilizzato per copiare i dati di grandi dimensioni. Tuttavia, il comando 'cp' viene utilizzato anche quando si copia un numero limitato di directory e file su una macchina locale.

In questo articolo impareremo come eseguire il backup di file e cartelle in Debian 10.

Prerequisito

È necessario disporre di quanto segue affinché questo tutorial funzioni.

1. Due macchine Debian 10 con privilegi di root

Backup delle directory con il comando cp

Il primo comando di cui parleremo è 'cp'. Viene utilizzato per copiare un numero limitato di file e cartelle su una macchina locale. Pertanto, non è praticamente utilizzato nell'industria.

La sintassi del comando 'cp' è la seguente.

cp -option1 -option2 destinazione di origine

Per capire, copieremo i file dal desktop/log in Karim/logrot. Esegui il seguente comando sul terminale.

cp -avr Desktop/log Karim/logro

a:Viene utilizzato per preservare gli attributi della directory come modalità file, proprietà, timestamp ecc.

r:Viene utilizzato per copiare ricorsivamente le directory che si trovano all'interno della directory principale

v:viene utilizzato per dettagliare l'output

Quello che segue è l'output di esempio.

Se si desidera copiare tutti i file, le directory e le sottodirectory in un'altra directory, è possibile utilizzare il carattere jolly *. Ad esempio, il comando seguente copierà tutti i dati da una directory esistente Desktop/log/ in Karim/logro/.

cp -avr Desktop/log/* Karim/logro/

Quello che segue è l'output di esempio.

Backup delle directory con rysnc

Come abbiamo già detto, il comando più utilizzato per eseguire il backup di file e cartelle è 'rsync'. Pertanto, discutiamo di cosa si tratta e come viene utilizzato.

Cos'è rysnc?

Rsync sta per sincronizzazione remota ed è stato scritto da Andrew Tridgell e Paul Mackerras il 19 giugno 1996. È un comando efficiente per la sincronizzazione dei file e il trasferimento tra macchine locali e di rete. È disponibile per impostazione predefinita sulla maggior parte dei sistemi. Tuttavia, puoi installarlo con l'aiuto di semplici comandi se non è disponibile (Esegui i comandi con privilegi di root).

apt-get update
apt-get install rsync

È inoltre necessario disporre di un client e un server ssh installati su entrambe le macchine di rete prima di sincronizzare i dati. Esegui i seguenti comandi con privilegi di root su entrambe le macchine Debian 1o.

apt-get install ssh

Backup delle directory sulla macchina locale

La sintassi di base durante la sincronizzazione dei file sul computer locale è la seguente.

opzione rsync directory-origine directory-destinazione

Se vuoi mantenere i metadati come proprietà, autorizzazioni, data di creazione, ecc. Devi usare -a opzione. Se vuoi copiare ricorsivamente le directory all'interno della directory, devi usare l'opzione -r.

rsync -ar directory dei sorgenti directory di destinazione

Allo stesso modo, se vuoi vedere l'avanzamento mentre la sincronizzazione è in corso, usa l'opzione -v. I comandi dovrebbero essere i seguenti,

rsync -avr directory dei sorgenti directory di destinazione

Supponiamo di voler sincronizzare file e cartelle che si trovano su Desktop/log su Karim/logro, il comando dovrebbe apparire come segue.

rsync -avr Desktop/log Karim/logro

Quello che segue è l'output di esempio.

Discutiamo un altro esempio e diciamo che abbiamo una cartella data-1 situata sul disco rigido 1 (/media/hdd1/data-1) e desideri sincronizzarla con il secondo disco rigido in /media/hdd2/. Il comando completo dovrebbe apparire come segue.

rsync -avr /media/hdd1/data-1 /media/hdd2/

Il comando, una volta eseguito, creerà una directory data-1 nel secondo disco rigido e copierà tutto il contenuto nel percorso di destinazione /media/hdd2/.

Backup di file e directory in rete

La sintassi è leggermente diversa durante il trasferimento di dati sulla rete. Quando vuoi sincronizzare una directory locale con una directory remota, il comando dovrebbe apparire come segue.

rsync [-options] PathofSourceFolder [email protetta]:PathofDestinationFolder

Supponiamo di avere una cartella di test situata all'interno della mia macchina locale in /home/karim/testfolder e di volerla sincronizzare in /home/karim. L'utente remoto è "karim" e l'indirizzo IP della macchina è 10.1.1.2. Esegui il seguente comando sul terminale.

rsync -avr /home/karim/testfolder [email protected]:/home/karim/

Non appena esegui questo comando, ti verrà chiesto di inserire la password della macchina remota.

Di seguito è riportato l'output di esempio dopo la sincronizzazione della directory.

Quando vuoi sincronizzare una directory remota con una directory locale, il comando dovrebbe apparire come segue.

rsync [-options] [email protetta]:PathofSourceFolder PathofDestinationFolder

Supponiamo di avere una cartella remota "cartella di test" situata in /home/karim/ e di voler sincronizzare con la macchina locale nella posizione /home/karim/. L'indirizzo IP della macchina remota è 10.1.1.2 e il nome utente è karim.

Esegui il seguente comando sul terminale.

rsync -avr  [email protected]:/home/karim/ /home/karim/testfolder

Di seguito è riportato l'output di esempio.

Come automatizzare il backup

È più conveniente automatizzare il backup in modo che gli ingegneri di sistema non debbano preoccuparsi di eseguire manualmente i comandi e di eseguire i backup ogni giorno.

C'è un famoso strumento chiamato "crontab" in Linux che viene utilizzato per automatizzare il processo di backup. Possiamo programmare per eseguire tutti i comandi di cui sopra ogni giorno, settimanalmente o mensilmente. Se non hai installato crontab sulla tua distribuzione Linux, esegui i seguenti comandi sul terminale con privilegi sudo.

apt-get update
apt-get install cron

Dopo aver installato crontab, esegui il seguente comando sul terminale per aprire l'editor crontab.

crontab -e

L'output di esempio dovrebbe apparire come segue.

Il crontab ha i seguenti cinque campi,

m h dm m dw comando

m:specifica i minuti (0-59)

h:specifica l'ora (0-23)

dm:specifica il giorno del mese (1-31)

m:specifica il mese (1-12)

dw:specifica il giorno della settimana (0-6 dove 0 è domenica)

Prendiamo un esempio precedente di sincronizzazione di una directory da un disco a un altro disco e diciamo che vogliamo farlo ogni giorno alle 12:00, il lavoro cron dovrebbe essere il seguente.

0 0 * * *  rsync -avr /media/hdd1/data-1 /media/hdd2/

Supponiamo di voler eseguire un backup ogni mese la domenica alle 12:00, il processo cron dovrebbe essere scritto come segue.

0 0 1 * * rsync -avr /media/hdd1/data-1 /media/hdd2/

Conclusione

Hai letto come possiamo eseguire il backup usando il comando estremamente potente "rysnc". Abbiamo concluso l'articolo con un "crontab". Anche "rsync" e "crontab" sono una combinazione utile.


Debian
  1. Come copiare file e directory in Linux

  2. Come eseguire file .bin e .run in Debian

  3. Debian:come estrarre e installare .deb senza il comando Dpkg?

  4. Come copiare file in Linux e Unix? 10 cp Esempi di comandi

  5. Come spostare tutti i file e le cartelle tramite il comando mv

Come aprire e modificare file e cartelle su Debian GNOME Desktop come amministratore

Come copiare file in Linux usando il comando CP

Come recuperare cartelle e file eliminati

Come installare e utilizzare MongoDB su Debian 11

Come trovare le cartelle in Linux

Come comprimere file e cartelle in Linux