De Help Desk punt NL
Kennisbank
De Helpdesk > De Helpdesk > Kennisbank

Backup en restore met tar

Oplossing Backup maken

Tar is nog steeds het commando bij uitstek om backups te maken. Heel basic maak je als volgt een backup:

tar cjvf archief.tar.bz2 directory

Niets mis mee, werkt altijd, maar als volledige backup-procedure toch wat aan de matige kant.

Als eerste stap willen we de datum opnemen in de bestandsnaam, dat maakt het terugvinden van een backup toch wat gemakkelijker. Je kunt hiervoor de hulp van het date commando inroepen. In de manpage van het commando date kun je de nodige informatie vinden over de syntax.

man date

Bijvoorbeeld:

date '+%d-%B-%Y'

Bovenstaand commando levert de datum op in het volgende formaat: dag-maand-jaar, bijvoorbeeld: 06-July-2003.

tar cjvf archief-`date '+%d-%B-%Y'`.tar.bz2 directory

Als je van de homedirectory een backup wilt maken, wil je waarschijnlijk niet alles backupen. Tar kent hiervoor de parameter --exclude. Je kunt uiteraard meerdere excludes opnemen:

tar cjvf archief.bz2 directory --exclude=*.bz2 --exclude=*.gz

Er zijn meerdere manieren om een zogenaamde 'incremental' backup te maken, Tar zelf biedt hier opties voor, maar ikzelf prefereer de hulp van de utility find.

find /directory -type f -mtime -1 -print | tar cjvf archief.bz2 -T -

Bovenstaand commando maakt een backup van alle bestanden die in de afgelopen dag zijn veranderd. Plaats nu dit commando in een crontab die je elke dag laat uitvoeren. Voorbeeld:

#dagelijkse backup

0 20 * * * find /directory -type f -mtime -1 -print |
tar cvjf archief-`date'+%d-%B-%Y'`.tar.bz2 -T-

#wekelijkse backup

3 0 4 * * 6 tar cvjf archief-`date '+%W-%B-%Y'`.tar.bz2 -T-

Backup bekijken

Je kunt met het volgende commando de inhoud van je backup bekijken

tar -tj -f archief.bz2

Als het veel bestanden zijn, de hulp van het less commando inroepen:

tar -tj -f archief.bz2 | less
Backup terugzetten

De basis van het terugzetten van een backup is heel gemakkelijk:

tar xjvf archiefnaam -C output-directory

Je kunt ook per bestand/bestanden terugzetten:

tar xjvf archief.bz2 *feed.rss -C tmp/

Ik gebruik in bovenstaand voorbeeld een * zodat ik niet de hele directorynaam moet meegeven (zoals die in het archief is opgeslagen).

Eind goed al goed en lang leve dit soort utilities :)
 
Was dit artikel bruikbaar? ja / nee
Gerelateerde artikelen Een backup maken van je linux systeem
Backups using Rsync, Bash & Cron
Universal Extractor - Een alles uitpakker
Bash scripting
Backup en herstel database vanuit de shell
Backup maken in linux naar cd of externe hard disk
Artikel details
Artikel ID: 75
Categorie: Backup
Zoekwoorden
Datum toegevoegd: 19-Feb-2003 12:08:38
Aantal bekeken: 8986
Beoordeling (Stemmen): Artikel beoordeeld 3.9/5.0 (3853)

 
« Ga terug