Schwarzer'Engel
18.08.04, 19:50
Hi,
habe soeben mein Backup-Script fertiggestellt :
#!/bin/sh
#
# belegt DATUM mit dem akt. Datum
DATUM=`date +%d.%m.%y`
# /etc sichern
# Pruefen ob etc-Fullbackup vorhanden
if [ -f /backup/Full/etc_full.tar.gz ]; then
# inkrementelles Backup da Full-Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/etc_ink_$DATUM.tar.gz /etc -g /backup/Full/etc_backup.log.level1
else
# Full-Backup, da noch kein Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/etc_full.tar.gz /etc -g /backup/Full/etc_backup.log
cp /backup/Full/etc_backup.log /backup/Full/etc_backup.log.level1
fi
# Sicherung /var/www
# Pruefen ob www-Fullbackup vorhanden
if [ -f /backup/Full/www_full.tar.gz ]; then
# inkrementelles Backup da Full-Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/www_ink_$DATUM.tar.gz /var/www -g /backup/Full/www_backup.log.level1
else
# Full-Backup, da noch kein Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/www_full.tar.gz /var/www -g /backup/Full/www_backup.log
cp /backup/Full/www_backup.log /backup/Full/www_backup.log.level1
fi
#Sicherung Laufwerk /home/merlin
# Pruefen ob merlin-Fullbackup vorhanden
if [ -f /backup/Full/merlin_full.tar.gz ]; then
# inkrementelles Backup da Full-Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/merlin_ink_$DATUM.tar.gz /home/merlin -g /backup/Full/merlin_backup.log.level1
else
# Full-Backup, da noch kein Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/merlin_full.tar.gz /home/merlin -g /backup/Full/merlin_backup.log
cp /backup/Full/merlin_backup.log /backup/Full/merlin_backup.log.level1
fi
# MySQL-Datenbanken sichern
mysqldump -u XXXXXX --password=YYYYYYY --all-databases > /backup/Full/database_full_$DATUM.sql
Das funktioniert soweit auch gut, nur :
1. Beim inkrementellen Backup wird, auch wenn sich keine Datei oder kein Verzeichnis geändert hat, eine *_ink_* angelegt. In dieser liegen dann sämtlich Unterverzeichnisse, leer. Wie kann ich es anstellen das tar diese Datei nur anlegt wenn sich tatsächlich etwas geändert hat (neue Datei, geänderte Datei, neues Verzeichnis) und wie verhindere ich dabei das leere ungeänderte Verzeichnisse getart werden?
2. Wie kann ich ins Syslog eine Meldung schreiben lassen wenn ein bzw. mehrere tar-Abschnitte einen Fehler verursacht ?
3. Wie kann ich mysqldump dazu bewegen nur neue Daten zu sichern ?
4. Was könnte man noch verbessern / verfeinern ?
Viele Grüße
Chris
habe soeben mein Backup-Script fertiggestellt :
#!/bin/sh
#
# belegt DATUM mit dem akt. Datum
DATUM=`date +%d.%m.%y`
# /etc sichern
# Pruefen ob etc-Fullbackup vorhanden
if [ -f /backup/Full/etc_full.tar.gz ]; then
# inkrementelles Backup da Full-Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/etc_ink_$DATUM.tar.gz /etc -g /backup/Full/etc_backup.log.level1
else
# Full-Backup, da noch kein Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/etc_full.tar.gz /etc -g /backup/Full/etc_backup.log
cp /backup/Full/etc_backup.log /backup/Full/etc_backup.log.level1
fi
# Sicherung /var/www
# Pruefen ob www-Fullbackup vorhanden
if [ -f /backup/Full/www_full.tar.gz ]; then
# inkrementelles Backup da Full-Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/www_ink_$DATUM.tar.gz /var/www -g /backup/Full/www_backup.log.level1
else
# Full-Backup, da noch kein Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/www_full.tar.gz /var/www -g /backup/Full/www_backup.log
cp /backup/Full/www_backup.log /backup/Full/www_backup.log.level1
fi
#Sicherung Laufwerk /home/merlin
# Pruefen ob merlin-Fullbackup vorhanden
if [ -f /backup/Full/merlin_full.tar.gz ]; then
# inkrementelles Backup da Full-Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/merlin_ink_$DATUM.tar.gz /home/merlin -g /backup/Full/merlin_backup.log.level1
else
# Full-Backup, da noch kein Backup vorhanden
tar --exclude-from=/home/merlin/Documents/scripte/backup/exclude.list -cSpvzf /backup/Full/merlin_full.tar.gz /home/merlin -g /backup/Full/merlin_backup.log
cp /backup/Full/merlin_backup.log /backup/Full/merlin_backup.log.level1
fi
# MySQL-Datenbanken sichern
mysqldump -u XXXXXX --password=YYYYYYY --all-databases > /backup/Full/database_full_$DATUM.sql
Das funktioniert soweit auch gut, nur :
1. Beim inkrementellen Backup wird, auch wenn sich keine Datei oder kein Verzeichnis geändert hat, eine *_ink_* angelegt. In dieser liegen dann sämtlich Unterverzeichnisse, leer. Wie kann ich es anstellen das tar diese Datei nur anlegt wenn sich tatsächlich etwas geändert hat (neue Datei, geänderte Datei, neues Verzeichnis) und wie verhindere ich dabei das leere ungeänderte Verzeichnisse getart werden?
2. Wie kann ich ins Syslog eine Meldung schreiben lassen wenn ein bzw. mehrere tar-Abschnitte einen Fehler verursacht ?
3. Wie kann ich mysqldump dazu bewegen nur neue Daten zu sichern ?
4. Was könnte man noch verbessern / verfeinern ?
Viele Grüße
Chris