PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Backup-Script für MySQL gesucht



tkoch88
16.12.04, 13:01
Ich suche ein Script, welches den Inhalt einer MySQL-Datenbank in eine andere MySQL-Datenbank auf einem anderen Server kopiert, und vor dem nächsten Backup noch die Datenbank als Dump in einen Ordner kopiert.

Auf beiden Servern läuft SuSE Linux und Cronjobs sind möglich.

marce
16.12.04, 13:06
entweder alles per scp / cp und Stoppen-Starten der DB

oder mit mysqldump, scp und mysql


das Script an sich in dann super-easy, das bekommst Du sicher selbst hin (ca. 10 Zeilen alles zusammen...)

Tomek
16.12.04, 14:06
Ja, sowas macht am besten mit mysqldump+gzip/bzip2 und scp oder rsync.

Einige Links zu dem Thema:
http://dev.mysql.com/doc/mysql/de/mysqldump.html
http://www.selflinux.org/selflinux-devel/html/mysql08.html
http://faq.1und1.de/hosting/scripte_datenbanken/datenbanken/4.html

elrond
17.12.04, 10:06
versuch's hiermit, ein wenig Bash. Wird einfach auf dem Server aufgerufen, auf dem die Kopie landen soll.



#! /bin/bash

#kopierfunktion
function getdata {
echo "transfer <quellserver>-><zielserver>, DB:$database"
#datenbank vorher sichern
mysqldump --add-drop-table $database>/var/backup/$database.mysqltransfer
echo "DB:$database nach /var/backup/$database.mysqltransfer gesichert"

#datenbank tranferieren
mysqldump -h <quellserver> -u<ReadOnlyUser auf Quellserver> --add-drop-table $database|mysql $database
}

#anzeige der optionen
function showopt {
echo "Optionen: -d <Database>"
echo " d=Datenbank"
cpok=0
}


#parameterzuweisung
cpok=1
while getopts d: Optionen; do
case $Optionen in
d) database=$OPTARG;;
*) showopt
;;
esac
done

#falls keine parameter angegeben wurden
test "$#" -ne "2" && showopt

#falls alle parameter ok sind wird kopiert
test "$cpok" -eq "1" && getdata


einfach in ein shell-script kopieren und mit <script> -d <datenbankname> starten

Ich zieh damit immer die Daten für mein Testsystem.

PS: die Werte in <Klammern> sindlatürnich noch auszutauschen...