In particolare, spero di ampliare (successivamente) con:
- script per backup differenziali, full e catalogo
- script per la masterizzazione in un dvd multisessione
- eventuali GUIs per sfruttare dar meglio di quanto non faccia KDar
Tools Necessari
Quello che ci serve per iniziare e':
Code: Select all
emerge dar cdrtools dvd+rw-toolsDar e' un derivato diretto di TAR, per questo ne eredita alcune opzioni e comportamenti.
Dar e' un tool di backup differenziale. Possiamo quindi creare un backup "full" e poi backuppare solo le modifiche avvenute ai files di questo archivio, creando dei backups "differenziali", quindi sostanzialmente ridotti. La rottura e' che per avere un restore completo, ci tocchera' andare a riprendere il full backup + tutti i successivi differenziali, quindi il consiglio e' di fare un full backup mensile e 30 differenziali. In modo da non impazzire...ovviamente questi sono i tempi miei, secondo le necessita', potrebbe essere piu' adeguato un full settimanale + 7 diff o anche meno...
Dar lavora su "slices", o segmenti di archivio. questo significa che creeremo un nostro archivio che potrebbe venire splittato in piu' files (usando l'opzione -s <size> per mettere il nostro archivio su + cd, per esempio). Il basename e' il nome dell'archivio, privato di numero progressivo di slice ed estensione. homefull.1.dar ha basename homefull ed e' il primo slice dello sliceset.
Backup Full
Un backup full e' il backup iniziale che andremo a fare, comprende indistintamente tutti i files che ci interessano, e sara' bello corposo. Il comando e':
Code: Select all
dar -y -m 512 -v -s 650M -c archivio -R / -Z *.bz2 -Z *.gz -Z *.zip -D -P tmp -X *.tmp -X *.old home/ashuraCode: Select all
-y = Abilita compressione bzip2
-m 512 = Non comprime files inferiori a 512 bytes (possiamo appendere al numero un indicatore di dimensioni come K,M,G,T,P rispettivamente per Kilo,Mega,Giga,Tera,Peta bytes. 512 e' un buon compromesso per una home.
-v = verbose... spesso ci mette un bel po', e io sono curioso di vedere cosa sta comprimendo :wink:
-s 650M = dimensione massima di ogni slice, possiamo appendere gli stessi quantificatori di -m
-c archivio = nome base dello sliceset (verranno creati archivio.n.dar)
-R / = considera / come root dir di backup
-Z <files> = evitiamo che DAR perda tempo a comprimere files gia compressi, come i bz2, gz, zip e simili...sarebbe saggio includere pure le immagini compresse e altri archivi...questa opzione puo' essere ripetuta e rispetta i wildcards '*' e '?'
-P <dir> = directory da escludere, sempre path relativo a -R
-X <file> = files da escludere, ricorsivo
-D = facciamo in modo che le dir escluse da -P vengano salvate come vuote, in modo che vengano ricreate al restore (vuote, ovviamente)
home/ashura = files da backuppare (da notare che ho usato un path relativo a -R)
Backup Differenziale
Il backup differenziale, come dice il nome, salva esclusivamente i files modificati successivamente ad un backup di riferiemento.
E' importante notare che per un backup effettivamente valido, sarebbe saggio usare ESATTAMENTE gli stessi parametri passati a dar per un backup full, appendendo solo l'opzione apposita.
Quindi:
Code: Select all
dar -y -m 512 -v -s 650M -c archivio_diff -A ultimobackupdiriferimento -R / -Z *.bz2 -Z *.gz -Z *.zip -D -P tmp -X *.tmp -X *.old home/ashuraDirei che e' molto semplice fin qui.
Catalogo Separato
Una cosa alquanto scomoda, in caso di backup differenziale, e' quella di andare a prendere l'ultimo backup eseguito, copiarlo magari su disco per una maggiore velocita' di
lettura e poi darlo in pasto a DAR, che comunque si trovera' a scorrere lungo un file che spesso supera i 500mb. Per evitare tutti questi sbattimenti, possiamo separare il
catalogo dai dati, mantenendo solo un archivio che comprende esclusivamente i dati relativi ai files, senza gli stessi. La creazione e' molto semplice:
Code: Select all
dar -y -v -C catalogo -A backup_da_catalogare
il nome dello slice-catalogo (da notare la C maiuscola al posto della minuscola) e l'archivio di riferimento (-A).
Fatto questo, ci troveremo con catalogo.1.dar, in tutto simile al backup da catalogare, ma decisamente piu' piccolo.
Successivamente, potremmo usare questo catalogo durante la creazione dei backup differenziali, al posto degli archivi precedenti. Ovviamente dovremmo aggiornare questo catalogo ogni volta che facciamo un backup,
differenziale o totale.
Restore archivio
Il restore di uno sliceset e' piuttosto semplice ed immediato. L'operazione va eseguita come root, se si desidera che vengano ripristinati permessi e proprietari.
Code: Select all
dar -x basenameDato che lo scopo e' quello di creare un backup senza intervento umano, ho deciso di aggiungere qualche cenno di masterizzazione, per chi non lo sapesse.
Scusate la poca verbosita'...
Immagine iniziale
Code: Select all
mkisofs -R -r -J -D -l -T -v -o backup.iso *.dar Code: Select all
cdrecord dev=/dev/cdrecorder -multi backup.isoCode: Select all
mkisofs -R -C `cdrecord -msinfo` -o backup.iso *.dar





