GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire il backup dell'host Unix locale utilizzando l'utilità rsnapshot rsync

rsnapshot è una fantastica utilità di backup Linux gratuita per eseguire il backup rsync del file system locale e remoto.

Questa è una serie di due articoli. In questo articolo, esaminiamo come installare e configurare l'utilità rsnapshot per eseguire backup rsync del file system locale. Nel prossimo articolo, esaminiamo come configurare l'utilità rsnapshot per eseguire il backup rsync del file system remoto.

rsnapshot utilizza la combinazione di rsync e hard link per mantenere backup completo e backup incrementali. Una volta che hai impostato e configurato rsnapshot, non è assolutamente necessaria alcuna manutenzione. rsnapshot si occuperà automaticamente dell'eliminazione e della rotazione dei vecchi backup.

Richiede anche molto meno spazio su disco. Il primo backup completo avrà le stesse dimensioni dei file e delle directory originali. I successivi backup completi di rsnapshot occupano solo meno spazio, poiché occupa solo il backup dei file modificati dal backup completo precedente.

1. Scarica l'utility di backup Linux rsnapshot

Scarica l'utilità rsnapshot da rsnapshot.org come mostrato di seguito.

# cd /usr/src
# wget http://www.rsnapshot.org/downloads/rsnapshot-1.3.1.tar.gz

# tar xvfz rsnapshot-1.3.1.tar.gz
# cd rsnapshot-1.3.1

2. Installa rsnapshot per eseguire il backup di directory Linux

Installa l'utility di backup di rsnapshot Linux usando ./configure ed esegui l'installazione come mostrato di seguito.

# ./configure --sysconfdir=/etc

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
config.status: creating t/rsync.t
config.status: creating t/gnu_cp.t
config.status: creating t/relative_delete_bugfix.t
Type "make install" to install the program.
After rsnapshot is installed, don't forget to copy
/etc/rsnapshot.conf.default to /etc/rsnapshot.conf

# make install

/usr/bin/pod2man -c '' -n 'rsnapshot' -r '' rsnapshot > rsnapshot.1
/usr/bin/pod2man -c '' -n 'rsnapshot-diff' -r '' rsnapshot-diff > rsnapshot-diff.1
make[1]: Entering directory `/usr/src/rsnapshot-1.3.1'
test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
/usr/bin/install -c 'rsnapshot' '/usr/local/bin/rsnapshot'
/usr/bin/install -c 'rsnapshot-diff' '/usr/local/bin/rsnapshot-diff'
test -z "/etc" || mkdir -p -- "/etc"
/usr/bin/install -c -m 644 'rsnapshot.conf.default' '/etc/rsnapshot.conf.default'
test -z "/usr/local/man/man1" || mkdir -p -- "/usr/local/man/man1"
/usr/bin/install -c -m 644 './rsnapshot.1' '/usr/local/man/man1/rsnapshot.1'
/usr/bin/install -c -m 644 './rsnapshot-diff.1' '/usr/local/man/man1/rsnapshot-diff.1'
make[1]: Leaving directory `/usr/src/rsnapshot-1.3.1'

Ora crea un nuovo rsnapshot.conf basato sul file di configurazione predefinito fornito con l'utilità di backup rsnapshot linux.

# cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf

3. Configura rsnapshot e specifica la directory di origine del backup

Apri /etc/rsnapshot.conf e decommenta le seguenti righe.

# vi /etc/rsnapshot.conf

cmd_cp          /bin/cp
cmd_ssh /usr/bin/ssh
cmd_du          /usr/bin/du
cmd_rsnapshot_diff      /usr/local/bin/rsnapshot-diff
logfile /var/log/rsnapshot

Definisci le tue directory di backup di destinazione in /etc/rsnapshot.conf come mostrato di seguito. In questo esempio,

  • /ecc – directory di origine di cui eseguire il backup
  • host locale/ – directory di destinazione in cui verrà archiviato il backup. Tieni presente che questa directory verrà creata nella directory /.snapshots/{internal.n}/ come mostrato nell'ultimo passaggio.
# vi /etc/rsnapshot.conf

backup  /etc/           localhost/

Nota: Cambia /etc/ nella directory appropriata di cui desideri eseguire il backup.

4. Verifica la configurazione di rsnapshot

Esegui il test di configurazione per assicurarti che rsnapshot sia configurato correttamente e pronto per eseguire il backup di rsync di Linux.

# rsnapshot configtest
Syntax OK

5. Verifica la configurazione del backup orario di rsnapshot

È possibile eseguire il backup di directory o file Linux a vari intervalli. Per impostazione predefinita, sono configurati i backup orari e giornalieri.

Verifica la configurazione del backup orario.

# rsnapshot -t hourly
echo 6490 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home \
/.snapshots/hourly.0/localhost/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /etc \
/.snapshots/hourly.0/localhost/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
/usr/local /.snapshots/hourly.0/localhost/
touch /.snapshots/hourly.0/

6. Verifica la configurazione del backup giornaliero di rsnapshot

Verifica che il processo di backup giornaliero di rsnapshot cwrsync sia configurato correttamente.

# rsnapshot -t daily
echo 6493 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
/.snapshots/hourly.5 not present (yet), nothing to copy

7. Intervallo di backup rsnapshot non valido

Non esiste un intervallo di backup mensile. Quindi, se provi a verificare la configurazione del backup mensile, potresti ricevere questo messaggio come mostrato di seguito:ERRORE:Intervallo "mensile" sconosciuto, controlla /etc/rsnapshot.conf

# rsnapshot -t weekly
echo 6495 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
/.snapshots/daily.6 not present (yet), nothing to copy

# rsnapshot -t monthly
echo 6496 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/usr/local/bin/rsnapshot -t monthly
----------------------------------------------------------------------------
ERROR: Interval "monthly" unknown, check /etc/rsnapshot.conf

8. Aggiungi la voce Crontab per rsnapshot

Dopo aver verificato che le configurazioni di backup orario e giornaliero di rsync sono impostate correttamente nell'utilità rsnapshot cwrsync, è il momento di configurare questo cucciolo nel crontab come mostrato di seguito.

# crontab -e
0 */4 * * * /usr/local/bin/rsnapshot hourly
30 23 * * * /usr/local/bin/rsnapshot daily

Dai un'occhiata all'articolo sugli esempi di crontab di Unix per capire come impostare e configurare crontab.

9. Verifica manualmente il lavoro rsnapshot (controllo una tantum)

Per la prima volta, potresti voler eseguire manualmente il backup di rsnapshot per assicurarti che funzioni come previsto.

Per impostazione predefinita, tutto il backup rsync eseguito dall'utilità rnspashot verrà archiviato nella directory /.snapshots.

Poiché rsnapshot non è mai stato eseguito, questa directory potrebbe non esistere come mostrato di seguito.

# ls -al /.snapshots/
ls: /.snapshots/: No such file or directory

Eseguire manualmente l'utilità di backup rsnapshot per la configurazione oraria come mostrato di seguito.

# /usr/local/bin/rsnapshot hourly

Poiché abbiamo eseguito il backup orario, l'utilità di backup rsnapshot linux avrebbe creato la seguente directory /.snapshots con la directory hourly.0

Sfoglia la directory /.snapshots/hourly.0/ per assicurarti che i file e le directory che hai configurato nel passaggio 3 siano sottoposti a backup di conseguenza.

# ls -al /.snapshots/
total 16
drwx------  3 root root 4096 Jul 13 05:07 .s
drwxr-xr-x 25 root root 4096 Jul 13 05:07 ..
drwxr-xr-x  3 root root 4096 Jul 13 05:07 hourly.0

# ls -al /.snapshots/hourly.0/localhost/etc/
total 2516
drwxr-xr-x 93 root root   12288 Jul 13 05:05 .
drwxr-xr-x  3 root root    4096 Jul 13 05:07 ..
-rw-r--r--  1 root root   15288 Mar 13  2008 a2ps.cfg
-rw-r--r--  1 root root    2562 Mar 13  2008 a2ps-site.cfg
drwxr-xr-x  4 root root    4096 Oct 31  2008 acpi
-rw-r--r--  1 root root      44 Jan 16 10:43 adjtime
drwxr-xr-x  4 root root    4096 Jan 16 10:36 alchemist
-rw-r--r--  1 root root    2155 Mar 19 08:22 aliases
-rw-r-----  1 root smmsp  12288 Mar 19 08:22 aliases.db

Nel nostro prossimo articolo, esaminiamo come eseguire il backup di più host remoti utilizzando l'utilità rsnapshot.


Linux
  1. Come migrare manualmente WordPress su un nuovo host

  2. Come eseguire il backup dell'intero sistema Linux utilizzando Rsync

  3. Come eseguire il backup e il ripristino del tuo sito Web utilizzando l'utilità di backup LCN

  4. Backup rsync/ssh/rsnapshot -- esecuzione remota di script

  5. Come interrompere una connessione TCP utilizzando l'utilità tcpkill

Come eseguire il backup del filesystem Linux utilizzando il comando dump

Come eseguire un backup Linux remoto utilizzando SSH

Come gestire l'archiviazione locale tramite stratis | Cappello rosso

Come configurare un backup con rsync su Ubuntu 18.04

Come eseguire il backup dell'host Linux remoto utilizzando l'utilità rsnapshot rsync

Tutorial Unix Sed:come scrivere su un file usando Sed