Esercitazione backup con linux

20
ESERCITAZIONE BACKUP CON LINUX 1 B u r s t n e t I n f o r m a t i c a

description

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. - PowerPoint PPT Presentation

Transcript of Esercitazione backup con linux

Page 1: Esercitazione backup con linux

ESERCITAZIONE BACKUP CON LINUX

1

Burstnet Inform

atica

Page 2: 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.

2

Burstnet Inform

atica

Page 3: Esercitazione backup con linux

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

3

Burstnet Inform

atica

Page 4: Esercitazione backup con linux

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.

4

Burstnet Inform

atica

Page 5: Esercitazione backup con linux

USO DI TAR

TEST:

Crare un archivio chiamato “test.tgz”, contenente le directory /etc e /home/laboratorio compresso in formato gzip:

5

Burstnet Inform

atica

Page 6: Esercitazione backup con linux

USO DI TAR

tar -czf test.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.

6

Burstnet Inform

atica

Page 7: Esercitazione backup con linux

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 7

Burstnet Inform

atica

Page 8: Esercitazione backup con linux

USO DI TAR

Backup totale con tar:

tar -czf <archivio di destinazione> <elenco cartelle da salvare>

Es. tar -czf backup.tgz /etc /home /var

8

Burstnet Inform

atica

Page 9: Esercitazione backup con linux

USO DI TAR

Restore totale con tar

tar -xzf <archivio compresso> -C <destinazione dell'estrazione>

Es. tar -xzf backup.tgz -C /

9

Burstnet Inform

atica

Page 10: Esercitazione backup con linux

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.

10

Burstnet Inform

atica

Page 11: Esercitazione backup con linux

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.

11

Burstnet Inform

atica

Page 12: Esercitazione backup con linux

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.

12

Burstnet Inform

atica

Page 13: Esercitazione backup con linux

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. 13

Burstnet Inform

atica

Page 14: Esercitazione backup con linux

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?

14

Burstnet Inform

atica

Page 15: Esercitazione backup con linux

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.

15

Burstnet Inform

atica

Page 16: Esercitazione backup con linux

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:

16

Burstnet Inform

atica

Page 17: Esercitazione backup con linux

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 eseguire17

Burstnet Inform

atica

Page 18: Esercitazione backup con linux

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 possibili18

Burstnet Inform

atica

Page 19: Esercitazione backup con linux

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

19

Burstnet Inform

atica

Page 20: Esercitazione backup con linux

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

20

Burstnet Inform

atica