BASH: backup incrementeel met uitzonderingen

Naar aanleiding van de incrementele backup viel mij op dat ook access logs van de virtuele hosts worden meegenomen in de backup. Dat is niet direct iets wat wenselijk is (die neem ik wel mee in de wekelijkse volledige backup), dus ben ik op zoek gegaan naar een manier om deze uit te sluiten.

Er zijn een aantal oplossingen voor, bijvoorbeeld grep met de -v parameter waarmee de werking van grep om te draaien is (filteren i.p.v. zoeken).

Zie de manpage van grep

Echter heeft find hiervoor zelf al geschikte functionaliteit. De eerdere incrementele backup heb ik aangepast met:

find /data/xxx -mtime -1 -type f -not -name "*.log"

Uiteraard is dit ook uit te breiden met -name [pattern] om files die matchen in de lijst te laten of met een extra -not -name [pattern] om nog meer files eruit te filteren.

Zie de manpage van find voor meer mogelijkheden.

BASH: backup incrementeel

Het vorige backup script is erg beperkt in zijn mogelijkheden, immers backupped het altijd de gehele directory. Mooier is om een incrementeel backup script te hebben, zodat alleen de gewijzigde bestanden in de backup meegenomen worden. Voor een directory met afbeeldingen of documenten zou dat een betere oplossing kunnen zijn.

Ook een incrementele backup is eenvoudig te maken via een bash script.

Continue reading BASH: backup incrementeel

BASH: simpel backup

Ten behoeve van een nieuwe linux server, heb ik het volgende backup scriptje gemaakt om een volledige directory iedere week volledig te backuppen. Het pakt de directory in (in een tar bestand) en voegt de datum toe aan het bestand.

#!/bin/bash
dir="xxx"
srcdir="/data/$dir/"
trgdir="/data/backup/$dir/"
date=$(date "+%Y-%m-%d %H;%M") #format: yyyy-mm-dd hh;mm
fn="$dir $date.tar"

tar -czf "$trgdir$fn" $srcdir
gzip "$trgdir$fn"

Sla het vervolgens op (zelf sla ik zulke dingen op in ~/bin/) en voeg het toe aan de crontab (crontab -e).

Let op: dit script is zeer beperkt, het pakt altijd de gehele directory in. In veel gevallen zou het mooier zijn om bijv. alleen de gewijzigde files in een dir te backuppen.