amanda
, bacula
, BackupPC
. Sono sistemi client/server con molte opzioni, la cui configurazione è piuttosto difficile. Alcuni di essi forniscono interfacce web facili da usare per mitigare il problema. Debian tuttavia contiene decine di altri software per i backup che coprono tutti i casi d'uso, come si può facilmente confermare con apt-cache search backup
.
rsync
(dal pacchetto omonimo) viene utilizzato quotidianamente per eseguire il backup di questi server diversi.
rsync
è preceduto da una duplicazione del contenuto del backup precedente con collegamenti fisici, il che impedisce l'utilizzo eccessivo di spazio su disco. Il processo rsync
quindi sostituisce solo i file che sono stati modificati dall'ultimo backup. Con questo meccanismo un gran numero di backup può essere mantenuto in una piccola quantità di spazio. Dal momento che tutti i backup sono immediatamente disponibili e accessibili (per esempio, in diverse directory di una determinata condivisione della rete), è possibile fare rapidamente paragoni tra due date.
dirvish
. Utilizza uno spazio di archiviazione di backup («banca» nel suo vocabolario), in cui colloca copie con l'indicazione della data di insiemi di file di backup (questi insiemi sono chiamati «casseforti» («vault») nella documentazione di dirvish).
/etc/dirvish/master.conf
. Esso definisce la posizione dello spazio di archiviazione di backup, l'elenco delle «casseforti» da gestire, ed i valori predefiniti per la scadenza dei backup. Il resto della configurazione si trova nel file banca/cassaforte/dirvish/default.conf
e contiene una configurazione specifica per il corrispondente insieme di file.
Esempio 9.3. Il file /etc/dirvish/master.conf
bank: /backup exclude: lost+found/ core *~ Runall: root 22:00 expire-default: +15 days expire-rule: # MIN HR DOM MON DOW STRFTIME_FMT * * * * 1 +3 months * * 1-7 * 1 +1 year * * 1-7 1,4,7,10 1
bank
indica la directory in cui sono memorizzati i backup. L'impostazione exclude
consente di indicare i file (o i tipi di file) da escludere dal backup. Runall
è un elenco di insiemi di file di cui fare il backup, ciascuno con una marcatura temporale che permette di assegnare la data corretta alla copia nel caso in cui il backup non venga avviato precisamente al tempo stabilito. Si deve indicare una data appena precedente all'effettiva ora di esecuzione (che in Debian sono in modo predefinito le 22.04, secondo il contenuto di /etc/cron.d/dirvish
). Da ultimo, le impostazioni expire-default
e expire-rule
definiscono la politica di scadenza per i backup. Nell'esempio precedente vengono conservati per sempre i backup che sono generati la prima domenica di ogni trimestre, quelli della prima domenica di ogni mese sono cancellati dopo un anno e quelli delle altre domeniche dopo 3 mesi. Gli altri backup giornalieri sono conservati per 15 giorni. L'ordine in cui sono scritte le regole non ha importanza, Dirvish usa l'ultima regola che fa corrispondenza, o expire-default
se nessuna altra regola expire-rule
corrisponde.
Esempio 9.4. Il file /backup/root/dirvish/default.conf
client: rivendell.falcot.com tree: / xdev: 1 index: gzip image-default: %Y%m%d exclude: /var/cache/apt/archives/*.deb /var/cache/man/** /tmp/** /var/tmp/** *.bak
hostname
), in particolare quelli nell'albero radice (tree: /
), eccetto quelli elencati in exclude
. Il backup sarà limitato ai contenuti di un file system (xdev: 1
). Non include i file da altri punti di mount. Sarà generato un indice dei file salvati (index: gzip
), e il nome dell'immagine sarà creato in base alla data corrente (image-default: %Y%m%d
).
dirvish --vault cassaforte --init
. Da quel momento in poi l'invocazione quotidiana di dirvish-runall
creerà automaticamente una nuova copia di backup subito dopo aver cancellato quelle scadute.