ich habe ein Backupscript zusammengebastelt, aber leider bekomme ich eine Sache nicht hin. Ich möchte das /home sichern aber einige Ordner ausschließen.
Dazu habe ich die Variable EXCLUDE definiert, welche dann mittels
--exclude=${EXCLUDE} in der Befehlszeile abgearbeitet werden sollte. Tja leider funktioniert dies nicht, sondern alle Verzeichnisse, welche normalerweise ausgeschlossen sein sollten werden doch gesichert.
In meiner Not habe ich die Verzeichnisse momentan in eine Datei exclude.lst geschrieben und rufe das mittels -X exclude.lst auf. Das funktioniert, ich hätte aber lieber alles im Script stehen und nicht eine Extra-Auschluss-Datei wie im Moment.
Hier mal mein Script. Die beiden "Fehler" sind ausgerautet.
Code: Alles auswählen
#!/bin/bash
# Script für inkrementelles Backup
### Einstellungen ##
BACKUPDIR=/home/backup/sicherung # Pfad zum Backupverzeichniss
TIMESTAMP=timestamp.dat # Zeitstempel
DATA=/home/cassadi # Verzeichniss(e) welche(s) gesichert werden soll(en)
### Verzeichnisse/Dateien welche nicht gesichert werden sollen ##
# EXCLUDE="/home/cassadi/Bilder /home/cassadi/Desktop /home/cassadi/Digibib4 /home/cassadi/Download /home/cassadi/Filme /home/cassadi/Musik /home/cassadi/Spiele /home/cassadi/.VirtualBox /home/cassadi/.wine"
### Püfen ob das Backupverzeichniss vorhanden ist ##
if [ ! -d "${BACKUPDIR}" ]; then
echo "Das Backupverzeichniss ${BACKUPDIR} existiert nicht!"
exit 1
fi
### Backup erstellen ##
filename=backup-$(date +%F-%H:%M).tgz
echo "Sichere veränderte Daten in ${filename}"
tar -czf ${BACKUPDIR}/${filename} -g ${BACKUPDIR}/${TIMESTAMP} ${DATA} -X exclude.lst
### Wenn es mit der obigen EXCLUDE - Variable funktionieren würde, sollte der Befehl so aussehen ##
# tar -czf ${BACKUPDIR}/${filename} -g ${BACKUPDIR}/${TIMESTAMP} ${DATA} --exclude=${EXCLUDE}
echo "Sicherung erfolgreich abgeschlossen!"
Lieben Gruß
Cassadi