200 likes | 314 Views
Esercitazione backup con linux. Uso di tar. Per realizzare il backup su un sistema linux potete sfruttare il programmaTAR. Tar è un programma che nasce per memorizzare o estrarre file da un nastro o da un archivio. Uso di tar.
E N D
Esercitazione backup con linux Burstnet Informatica
Uso di tar • Per realizzare il backup su un sistema linux potete sfruttare il programmaTAR. • Tar è un programma che nasce per memorizzare o estrarre file da un nastro o da un archivio. Burstnet Informatica
Uso di tar • I parametri più importanti che si possono utilizzare con tar sono: • -c: equivale a “create”, serve a creare un nuovo archivio • -x: equivale a “extract”, serve a estrarre i file da un archivio • -t: equivale a “list”, visualizza il contenuto di un archivio • --exclude=PATTERN: serve ad escludere il salvataggio dei file specificati in PATTERN Burstnet Informatica
Uso di tar • -f ARCHIVE: equivale a “file”, permette di specificare il dispositivo o il file dentro il quale deve essere memorizzato il backup oppure, in caso di estrazione, dal quale recuperare il backup. • -j:comprime l'archivio con il comando “bzip2” • --overwrite: sovrascrive i file esistenti quando l'archivio viene estratto • -z: comprime l'archivio con il comando “gzip” • -C DIR: equivale a “directory”, indica dentro quale directory estrarre il contenuto dell'archivio. Burstnet Informatica
Uso di tar TEST: • Crare un archivio chiamato “test.tgz”, contenente le directory /etc e /home/laboratorio compresso in formato gzip: Burstnet Informatica
Uso di tar • tar-czftest.tgz /etc /home/laboratorio • Il tar è stato così composto: • comando tar • parametro “c” per la creazione di un nuovo archivio • parametro “z” per la compressione con gzip • parametro “f” seguito dal nome dell'archivio • /etc e /home/laboratorio sono le directory che vogliamo salvare. Burstnet Informatica
Uso di tar • estrarre l'archivio test.bz2, compresso in formato “bzip2” dentro la cartella /var/www: • tar-xjf test.bz2 -C /var/www/ • Il tar è stato così composto: • comando tar • parametro “x” per l'estrazione dell'archivio • parametro “j” per la decompressione con bzip2 • parametro “f”seguito dal nome dell'archivio per indicare quale archivio estrarre • parametro “-C” seguito dal nome della cartella di destinazione, per indicare dove deve essere estratto l'archivio Burstnet Informatica
Uso di tar Backup totale con tar: • tar -czf <archivio di destinazione> <elenco cartelle da salvare> • Es. tar -czf backup.tgz /etc /home /var Burstnet Informatica
Uso di tar • Restore totale con tar • tar -xzf <archivio compresso> -C <destinazione dell'estrazione> • Es. tar -xzf backup.tgz -C / Burstnet Informatica
Uso di tar Backup incrementale con tar • Comando: • tar-czf <file archivio> --listed-incremental=<file di log> <elenco cartelle da memorizzare> • Con questo comando, si crea un archivio contenente solamente i file che non sono stati memorizzati precedentemente dallo stesso comando. Il file di log indicato nel parametro listed-incremental, viene aggiornato da tar con i nuovi file inseriti nell'archivio. Burstnet Informatica
Uso di tar • Es. Backup incrementale della cartella /dati • sudo -s • rm –r backup • mkdir /dati • mkdir /backup • touch /dati/test1 • tar -czf /backup/archivio_`date +%d-%m-%y`.tgz --listed-incremental=/var/log/backup.log /dati • Verfichiamo che nella cartella /backup sia presente il nostro backup. Burstnet Informatica
Uso di tar • NB: il comando date è racchiuso dentro un'apice rovesciata (`) e non dentro un'apice semplice (') • Come ulteriore test creiamo: • touch /dati/test2 • E rilanciamo il comando per eseguire il backup incrementale. • Decomprimiamo il file creato e verifichiamo che nell’archivio decompresso sia presente solo il file test2. Burstnet Informatica
Uso di tar • Ad ogni esecuzione del comando viene creato il file di archivio, comprensivo della data odierna ottenuta attraverso il comando date (vedere “man date”), contenente solamente i file aggiunti nella cartella /home dall'ultima volta che è stato eseguito lo stesso comando di tar. • Per ripristinare i backup incrementali è sufficiente estrarre uno ad uno, in ordine cronologico, tutti gli archivi contenuti nella cartella di backup. • Attenzione: tar non riesce a verificare eventuali file cancellati, ma solo quelli nuovi o modificati; quelli eliminati rimarranno pertanto all'interno del backup. Burstnet Informatica
Uso di tar Effettuare backup incrementali giornalieri e backup totale a inizio settimana • Prima di tutto creare lo script che esegua il comando di backup incrementale: • backup.sh: • #!/bin/bash tar-czf /backup/archivio_`date +%d-%m-%y`.tgz --listed-incremental=/var/log/backup.log /dati • Successivamente bisognerà assegnare allo script i permessi di esecuzione, come fare? Burstnet Informatica
Uso di tar • E' importante notare che se il file di log è assente o vuoto, il tar effettuerà il backup totale della cartella da memorizzare; utilizzeremo questo stratagemma per effettuare il backup totale a inizio settimana. • Per far sì che il comando venga eseguito ogni giorno ad un preciso orario dobbiamo affidarci al programma “crontab”. Questo programma permette di memorizzare quando eseguire un determinato comando. Burstnet Informatica
Uso di tar • Eseguendo crontab -e entriamo nella configurazione di crontab • Ogni linea indica un'operazione che verrà eseguita in automatico. • Se la linea è preceduta dal carattere #, significa che è commentata, quindi non verrà eseguita. • Le linee di configurazione di crontab sono formate da 6 valori: Burstnet Informatica
Uso di tar • m (minute): indica il minuto nel quale deve essere eseguita l'operazioni (valori da 0 a 59) • h (hour): indica l'ora nel quale eseguire il comando (valori da 0 a 23) • dom (day of month): indica il giorno del mese nel quale eseguire (da 1 a 31) • mon (month): indica il mese nel quale eseguire (da 1 a 12) • dow (day of week): indica il giorno della settimana (da 0 a 6, 0 è domenica e 6 è sabato) • command: il comando da eseguire Burstnet Informatica
Uso di tar • I primi 5 campi possono essere formati da un singolo valore numerico oppure possono essere utilizzati degli operatori per specificare valori multipi: • “,”, permette di specificare una lista di valori, ognuno separato dalla virgola Es: 1,3,5 • “-”, permette di specificare un intervallo di valori Es. 1-4 • “*”, specifica tutti i valori possibili Burstnet Informatica
Uso di tar • Tornando al sistema di backup che stavamo progettando sarà necessario inserire due righe di istruzioni dentro crontab: • la prima serve a eliminare il file di log ogni lunedì alle ore 0:30, prima che venga effettuato il nuovo backup; in tal modo il backup sarà completo di tutta la cartella /home • 30 0 * * 1 rm /var/log/backup.log Burstnet Informatica
Uso di tar • la seconda invece serve ad eseguire ogni giorno il comando di backup all'1 di notte: • 1 0 * * * /script/backup.sh • nel caso volessimo eseguire il backup soltanto durante i giorni lavorativi, dovrà essere modificato in: • 1 0 * * 1-5 /script/backup.sh Burstnet Informatica