Hilfe für die erweiterung meines Backupscripts

PierreR32

Member
Hallo Leute,

ich habe mal für ein Backup folgendes Script geschrieben.
Wie Ihr seht öffne ich per NFS einen anderes Mountfile und lege dort die Daten ab. Was bringen mir die Daten was auf dem Produtiv system wenn da die HDD kaputt geht ?.

Code:
#!/bin/bash
NOW="DAILY1"
FILE="$2/$1.$NOW.gz"
#
#############################
# Mounten des NFS Fileshare #
#############################
#
mount xx.xxx.xxx.xx:/home/backup/serverxx/daily /mnt -t nfs
echo "NFS SHARE ERFOLGREICH GEMOUNTET"
#
#
###############################
# Taren von den gewählten Webs#
###############################
#
tar cvfz /mnt/$NOW.web01.tgz /var/www/web01/web/
echo "Tar von Web01 beendet"
#
####################################
# Datenbanken Dumpen und kopieren  #
####################################
#
echo "Starte dumpen der gewählten Datenbanken."
#
mysqldump -u root -pPASSWORD web01_db1 > /mnt/$NOW.web01_db1.sql
#
echo "Datenbanken erfolgreich gedumpt und ins Backup Verzeichnis kopiert!"
##############################
# UnMount des NFS Fileshare  #
##############################
echo "Ich schliesse nun den Mount wieder!!!"
umount xx.xxx.xxx.xx:/home/backup/serverxx/daily /mnt -t nfs
echo "Ich habe fertig ... Tschüss bis zum nächsten mal"
echo "done"
#############################
# Script Ende               #
#############################
Dies finktioniert auch sowet ganz gut. Nur es ist echt umständlich mit der Pflege.
Wenn man nun 20 Webs drin hat mit jeweils 5 Datenbanken verliert man recht schnell die Übersicht.

Da ich mich mit dem Schreiben von Scripten allerdings nicht so gut auskenne wollte ich mal an dieser Stelle fragen wie man das besser realisiert.

Ich habe mir gedacht ein Datei in der die web nummer stehen und die Datenbanken. Diese wird dann irgendwie an das Backup Script übergeben.

Erklärung zum DAILY1:
Ich lasse im Prinzip das Script alle 3 Tage per Cron laufen und überschreibe damit die Alten Files.
Es gibt insgesamt drei Backup Scripte wo der Parameter ausgetauscht wird. Daily2 und Daily3. Die laufen dann zu unterschiedlichen Tagen.

Wie gesagt das ist ein ziehmlicher Aufwand wenn es um die Pflege geht. Man muss jedes Backup Script einzeln öffnen und neues Webs einfügen. Bei mir sind das dann 5 Dateien. Und schnell verlieren man den überblick.

Ich Danke euch schonmal für die Hilfe und vielleicht ist ja das Script für den einen oder anderen.

Gruß
Pierre
 

Till

Administrator
Für MySQL Backups benutze ich z.B. das folgende Script:

Code:
#!/bin/sh

# Create the temporary copy directory
mkdir /tmp/mysql

# Get the list of MySQL Databases & copy them

for var in `find /var/lib/mysql/ -type d | \
sed -e "s/\/var\/lib\/mysql\///"`; do
mysqldump --quick --user="root" --password="geheim" $var > /tmp/mysql/$var.sql
done

# Tar/gzip data

date=`date -I`
tar cjf /tmp/mysql-$date.tar.bz2 -C /tmp/ mysql/

# Copy Data
mv  /tmp/mysql-$date.tar.bz2 /backup/mysql-$date.tar.bz2

# Delete temp files

rm -fR /tmp/mysql/
 

PierreR32

Member
Wo kann ich da die Webs einstellen ?
Es so das bei mir nur gewisse Kunden diese Backup Funktion haben. Daher meine Frage wegen den Webs ob ich die irgendwo eintragen kann :D
 

Till

Administrator
Das Script ist nur für die MySQL Datenbanken und nicht Webs und es bietet keine Funktion, die einzelnen Datenbanken zu selektieren.
 

PierreR32

Member
Axo ok ... ich brauche halt diese Möglichkeit. Wie im Eingangspost erwähnt.
Ich kann das ja alles per Hand eintragen nur das wird mit der Zeit echt aufwenig.
Daher wollte ich wissen ob man dies mit einem z.b. textfile machen kann wo ich nur die webs und die Datenbanken eintrage ohne alle 5 Backupscripte zu öffnen.

Gruß
Pierre
 

Werbung

Top