PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mein Backup-Script



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

mbo
19.08.04, 12:35
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?

man tar



2. Wie kann ich ins Syslog eine Meldung schreiben lassen wenn ein bzw. mehrere tar-Abschnitte einen Fehler verursacht ?

man syslog

cu/2 iae