Page 1 of 1
MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-18 23:21
by ecki
Hallo,
habe folgendes Script aus dem hiesigen "FAQ"-Bereich kopiert. Leider läuft es bei mir nicht. Habe natürlich alle erforderlichen Verzeichnisse angelegt; trotzdem erhalte ich bei Scriptausführung Fehlermeldungen, die etwas von "nicht existierenden Verzeichnissen oder Dateien" sagen.
Ausserdem meldet "bzip" einen Fehler, etwa so:
"I wont send compressed data to standard output."
Hier der Code:
Code: Select all
#!/bin/sh
date=`date -I`
mysqlcheck --all-databases --auto-repair --extended --optimize -uroot -password
>/var/backup/logs/mysqlcheck-$date.log
mysqldump --all-databases -uroot -password --opt | bzip2 -c >
/var/backup/databasebackup-$date.sql.bz2
rm /var/backup/databasebackup-current.sql.bz2
rm /var/backup/logs/mysqlcheck-current.log
ln -s /var/backup/databasebackup-$date.sql.bz2
/var/backup/databasebackup-current.sql.bz2
ln -s /var/backup/logs/mysqlcheck-$date.log
/var/backup/logs/mysqlcheck-current.log
Was ist da falsch?
Bin dankbar für jeden (möglichst einem Newbie verständlichen) Tipp.
Viele Grüße, Ecki
Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-19 09:44
by sascha
Falsche Zeilenumbrüche...
Code: Select all
#!/bin/sh
date=`date -I`
mysqlcheck --all-databases --auto-repair --extended --optimize -uroot -password >/var/backup/logs/mysqlcheck-$date.log
mysqldump --all-databases -uroot -password --opt | bzip2 -c > /var/backup/databasebackup-$date.sql.bz2
rm /var/backup/databasebackup-current.sql.bz2
rm /var/backup/logs/mysqlcheck-current.log
ln -s /var/backup/databasebackup-$date.sql.bz2 /var/backup/databasebackup-current.sql.bz2
ln -s /var/backup/logs/mysqlcheck-$date.log /var/backup/logs/mysqlcheck-current.log
Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-19 13:38
by ecki
Hallo Sascha,
habe das Script entsprechend deinem Tipp umgeschrieben (mit "vi" direkt auf dem Server editiert).
Hier nochmal die Pfade (angelegt wie im "FAQ" beschrieben):
Das Script liegt in "/usr/local/bin"
Das Verzeichniss für die Backup-Files: "/var/backup"
Das Verzeichnis für die Logs: "/var/backup/logs"
Nach den Ã?nderungen erhalte ich jetzt folgende Fehlermeldungen, die sich blockweise wiederholen; also folgender Block kommt dann x-mal:
Code: Select all
bzip2: I won't write compressed data to a terminal.
bzip2: For help, type: `bzip2 --help'.
rm: cannot remove `/var/backup/logs/mysqlcheck-current.log': No such file or directory
ln: `/var/backup/logs/mysqlcheck-current-log': File exists
mysqldump: invalid option -- D
Vielleicht weiss jemand da noch was ...
Danke, und viele Grüße, Ecki
Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-19 13:50
by ecki
ja, ja :oops:
.. in der letzten Zeile muss es natürlich heißen: "mysqlcheck-current.log".
Hab ich schon korrigiert.
Kriege jetzt aber noch folgenden, Fehlerblock:
Code: Select all
mysqldump: invalid option -- D
bzip2: I won't write compressed data to a terminal.
bzip2: For help, type: `bzip2 --help'.
Vor allem weiss ich nicht, wo der Fehler mit "invalid option --D" bei mysqldump herkommt...
Ich seh´s nirgendwo...
(der etwas ratlose) Ecki
Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-21 14:43
by ecki
Hallo,
ich poste hier nochmal den aktuellen Code meines MySQL-Backup-Scripts (das aus dem "FAQ")
Code: Select all
mysqlcheck --all-databases --auto-repair --extended --optimize --user=root --password=meinpw
>/var/backup/logs/mysqlcheck-$date.log
mysqldump --all-databases --user=root --password=meinpw --opt | bzip2 -c
>/var/backup/databasebackup-$date.sql.bz2
rm /var/backup/databasebackup-current.sql.bz2
rm /var/backup/logs/mysqlcheck-current.log
ln -s /var/backup/databasebackup-$date.sql.bz2 /var/backup/databasebackup-current.sql.bz2
ln -s /var/backup/logs/mysqlcheck-$date.log /var/backup/logs/mysqlcheck-current.log
Die Datei "mysqlcheck" liegt in /usr/local/bin. Es funktioniert (noch immer) NICHT. Wenn ich jetzt in der Kommandozeile das Script in /usr/local/bin mit "mysqlcheck" (natürlich ohne Anführungszeichen) starte, bekomme ich die Syntaxhilfe zu "mysqlcheck" angezeigt. Sonst passiert nichts.
Bin ziemlich ratlos...
Bitte helft mir.
Viele Grüße, Ecki
Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-21 14:47
by gamecrash
Du hast da schon wieder nen Zeilenumbruch drin, wenn Du den (zwischen "bzip2 -c" und ">/var/" durch ein Leerzeichen ersetzt, dürfte das funzen...
Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-21 16:02
by ecki
Hallo,
@GameCrash
.. habe den besagten Zeilenumbruch durch ein Leerzeichen ersetzt. Danke.
Die Funktion "mysqlcheck" führt das Skript auch sauber durch und zeigt mir das zeilenweise für die db an. Es gibt auch keine anderen Fehlermeldungen. Ich kann jedoch nirgends sehen, ob das Skript auch den "mysqldump" ausführt. In dem angegeben Verzeichnis gibt es zwar nach Ablauf des Skripts eine jeweils aktuelle ".....sql.bz2"-Datei (Größe: 93.236), aber die Dateigröße ist zu klein für den Inhalt der db. Wenn ich mir die ".....sql.bz2"-Datei lokal auf meinen Win-PC-runterlade zeigt mir mein Packprogramm ("Quick-Zip" Freeware, kann aber auch .tar und .gz) einen leeren Ordner an. Wie kann ich kontrollieren, ob der Dump auch die entsprechenden Daten der db enthält?
Verzweifel...
Gruß und Dank, Ecki
Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-21 16:13
by sascha
Einfach mal mit bunzip2 entpacken.

Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-21 16:23
by ecki
@Sascha
.. wie mach ich das (bin erst seit ein paar Tagen rootie) ? :oops:
Re: MySQL-Backup-Script aus der "FAQ"
Posted: 2003-07-21 17:02
by chris76
Ich habe da ne andere Frage zu dem Script.
Das Passwort das ich in dem Script angebe kann ich das irgendwie ändern?
Ciao Christian