introduzione
Ora che hai un server Linux perfettamente configurato su Vultr, devi scegliere una soluzione di backup per esso. GNU tar
è un'ottima scelta: è affidabile e semplifica il backup e il ripristino di un server.
Sintassi di base
Tar utilizza la seguente sintassi.
sudo /usr/bin/tar -czpvf /home/john/backup/linux_backup.tar.gz /
-c
: Archivio.
-z
: Utilizzare il formato GZip per il backup. GZip è veloce ma genera file di dimensioni maggiori rispetto ad altri strumenti di compressione.
-p
: Preserva l'autorizzazione in modo che quando ripristini il backup non si verifichino problemi di autorizzazione.
-v
: Mostra i dettagli durante il backup. Ometti -v
se non vuoi vedere un output dettagliato.
-f
: Specifica dove archiviare i file tar. Qui salviamo il file di backup nella backup
directory nella home directory dell'utente John e lo nominiamo linux_backup.tar.gz
.
/
: Il file system di root di Linux. Ciò significa eseguire il backup dell'intero disco, comprese tutte le unità montate, quindi fai attenzione, escludi le cartelle o i file con cui non desideri eseguire il backup excluded.txt
(spiegato di seguito).
miglioramenti
Escludere i file che non si desidera (o non è necessario) per il backup.
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup.tar.gz /
Utilizzare --exclude-from=/home/john/exclude.txt
per specificare le esclusioni in un file. Di exclude.txt
seguito viene incollato un campione.
/home/john/backup/*
/tmp/*
/proc/*
/dev/*
/sys/*
/run/*
/var/tmp/*
/var/run/*
/var/lock/*
/usr/portage/*
/usr/src/*
In questo esempio, escludo /home/john/backup/*
, altrimenti il primo backup verrà incluso nel secondo backup e così via.
Su ogni sistema Linux, il /tmp/*
, /proc/*
, /dev/*
, /sys/*
, e /run/*
vengono creati dinamicamente, in modo non è necessario includerli nel backup, ma è necessario mantenere la struttura di directory. Pertanto, è necessario utilizzare /proc/*
in excluded.txt
, al contrario di /proc
.
È possibile aggiungere altri file e cartelle di cui non si desidera eseguire il backup. Nell'esempio sopra, ho incluso /usr/portage/*
e /usr/src/*
. Questi sono specifici di Gentoo Linux. Il primo contiene gli ebuild e i sorgenti del pacchetto Gentoo. Il secondo contiene i sorgenti del kernel Gentoo Linux. Sono grandi e possono essere nuovamente scaricati dopo un ripristino del sistema. Sentiti libero di modificarlo excluded.txt
in base alle tue esigenze.
Aggiungi la data corrente al nome del backup
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.gz /
Con $(date +%F-%H-%M)
, la data, le ore e i minuti correnti verranno aggiunti al nome del file di backup. Ad esempio linux_backup-2015-07-02-15-22.tar.gz
,.
Utilizzare un programma di compressione migliore diverso da GZip
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz /
L' -J
interruttore può sostituire -z
per usare Xz per la compressione. Cambia anche l'estensione in tar.xz
. Xz è più lento di GZip, ma ha un rapporto di compressione molto migliore, che si traduce in un file di backup più piccolo.
Mettere tutto in uno script di shell
Crea uno script.
vim /home/john/bin/linux_backup.sh
Includi il seguente codice nello script.
#!bin/sh
_tarfile=/home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf $ /
Concedi allo script le autorizzazioni di esecuzione.
sudo chmod +x /home/john/bin/linux_backup.sh
Eseguire un backup.
/home/john/bin/linux_backup.sh