Probleme bei der Erstellung einer backup.sh

ATZENPOWER

Registered User
Hallo

Mir ist ein mehr oder weniger kleines Mißgeschick passiert, indem ich aus versehen meine backup.sh gelöscht habe.
Ich muss mir also eine neue basteln, was jedoch nicht so funktioniert wie ich es gern hätte.
Demnach bitte ich um Hilfe.
Hat jemand ein solches Skript oder kann mir jemand ein solches erstellen, welches ich dann nur noch anpassen muss?

Im Anschluß ein Versuch der Erklärung von dem was ich gerne hätte.

Beispielerklärung zur Dateistruktur

-Pfad wo die Subdomainordner liegen ist: /www/subdomain
In dem Ordner gibt es dann zb die Ordner "s1", "s2", "s3" usw, wobei jeder Ordner eine Subdomain darstellt.
subdomainordner1 wäre dann zb "/www/subdomain/s1"
subdomainordner2 wäre dann zb "/www/subdomain/s2"
usw
"subdomainname1" soll dann also "s1" sein usw
die komprimierte Datei soll dann zb s1_DATUM.tar.gz heißen
-
Mit der Datenbank verhält es sich ähnlich.
Zugriff, auto-repair, dump und komprimieren von datenbank1 welche den namen "datenbankname_1" hat
WICHTIG!!! Jede Datenbank hat unterschiedliche User und Passwörter und nicht alle Datenbanken haben den gleichen Prefix
"datenbankdatenname1"="datenbankname_1"
Die komprimierte Datei soll dann zb datenbankdatenname1_DATUM.sql.gz heissen.
-
Der FTP ist bei allen gleich.



Was soll die backup.sh machen?...

- datenbankdaten1 als *.sql.gz packen und komprimieren und den Dateiname folgend benennen " datenbankname1_DATUM.sql.gz "
- subdomainordner1 als *.tar.gz packen und komprimieren und den Dateiname folgend benennen " subdomainordnername1_DATUM.tar.gz "
- Ordner in pfad xyz erstellen mit name "backup_subdomainordner1_DATUM"
- "datenbankdatenname1_DATUM.sql.gz" und "subdomainordnername1_DATUM.tar.gz" in Ordner "backup_subdomainordnername1_DATUM" verschieben
- den Ordner "backup_subdomainordner1_DATUM" via FTP an Server "beispielserver" versenden.
#
- datenbankdaten2 als *.sql.gz packen und komprimieren und den Dateiname folgend benennen " datenbankname2_DATUM.sql.gz "
- subdomainordner2 als *.tar.gz packen und komprimieren und den Dateiname folgend benennen " subdomainordnername2_DATUM.tar.gz "
- Ordner in pfad xyz erstellen mit name "backup_subdomainordner2_DATUM"
- "datenbankdatenname2_DATUM.sql.gz" und "subdomainordnername2_DATUM.tar.gz" in Ordner "backup_subdomainordnername2_DATUM" verschieben
- den Ordner "backup_subdomainordner2_DATUM" via FTP an Server "beispielserver" versenden.
#
usw
 
für mysql fahre ich mit mysql-zrm sehr gut. History, komprimieren, email bei fehler usw.

ansonsten findet man per google auch massen an backup scripts. Meins hat lediglich kleinigkeiten drin, da ich eigentlich nur in mysql empfindliche Daten habe, die ich nicht verlieren möchte.

ich bin mir sicher da kann man sich recht schnell was gutes überlegen und basteln.

fürs datum halt:
Code:
DATE=$(date +%Y-%m-%d-%H%M%S)
und dann für das eigentliche backup:
Code:
BACKUP_DIR="/home/backup-user"
SOURCE="/home"
rm -f ${BACKUP_DIR}/*.tar.bz2
tar -cjpf $BACKUP_DIR/backup-$DATE.tar.bz2 $SOURCE
 
also...
Die Backups ansich funktionieren mit folgenden Zeilen...

Code:
mysqlcheck --auto-repair -uuser -ppw world-hack_test
mysqldump --opt -uuser -ppw db-name | gzip > /srv/www/backup/world-hack_test_02_03_2012.sql.gz
tar -czf /srv/www/backup/world-hack_test_02_03_2012.tar.gz /srv/www/subdomains/test/httpdocs

Nun soll aber zb das Datum bei jedem Backup automatisch gesetzt werden und nicht wie bei meinem oberen Beispiel von Hand eingetragen sein.

Also hab ich das ganze umgeschrieben... bzw erstmal den tar-teil zum testen.
Die einzelnen Ausgaben stimmen definitiv... aber an der stelle wo er es "zusammensetzen" soll macht er scheinbar probleme...

Code der backup.sh
Code:
DATUM=`date +%Y.%m.%d_%H%M`
DATEITYP=tar.gz
DATEINAME=world-hack_test_$DATUM
DIR=test/httpdocs
WWW=/srv/www/subdomains/$DIR
DEST=/srv/www/backup/$DATEINAME.$DATEITYP
RECHTE=-czf
echo $DEST
echo $WWW
echo $DATEINAME
echo $DATEITYP
echo $RECHTE
echo $DATEINAME.$DATEITYP

Ausgabe:
Code:
sh /srv/www/backup/backup.sh
.tar.gzw/backup/world-hack_test_2012.03.03_1357 <<< Hier der 1. Fehler (.tar.gz steht vorn?!?)
/srv/www/subdomains/test/httpdocs
world-hack_test_2012.03.03_1357
tar.gz
-czf
.tar.gzack_test_2012.03.03_1357 <<< Hier ebenfalls sehr kurios

Warum gibt er mir nicht den richtigen Datensatz aus?...
Es sollte ansich world-hack_test_2012.03.03_1357.tar.gz dabei herauskommen... was er nicht macht...^^
 
Last edited by a moderator:
Back
Top