Page 1 of 1
MySQL-Backup verfeinern
Posted: 2004-04-16 22:00
by tobias1985
Hi,
ich denke dies gehört nicht mehr in den anderen Theread sondern als neuer Thread. Folgendes Script funktioniert:
42 16 * * * mysqldump -u Username -pPasswort -B db_1 db_2 db_3 db_4 | gzip -c9 |uuencode backup.sql.gz| mail -s 'DB backup from user'
mail@adresse.de
Ich hätt das aber gern anders. Also zurzeit wird eine Textdatei erstellt und die gzippt. In dieser Textdatei sind alle Datenbanken drin.
Wie geht das jetzt, dass für jede Datenbank 1 Textdatei erstellt wird und dann alle zusammen in das gzip-File kommen?
Wäre super wenn jemand helfen könnte.
Re: MySQL-Backup verfeinern
Posted: 2004-04-16 22:14
by captaincrunch
Code: Select all
#!/bin/sh
cd /var/backup
for i in DB1 DB2 DB3 USW
do
`which mysqldump` -u Username -pPasswort -B $i > $i.bak
done
/bin/tar cvzf ./backup.sqp.gz *.bak
`which uuencode` ./backup.sql.gz | /bin/mail -s 'DB Backup from user' FOO@BAR.example
Einfach mal runtergetippert, sollte gehen.
Re: MySQL-Backup verfeinern
Posted: 2004-04-16 22:22
by tobias1985
Dazu muss ich das dann aber ganz anders machen oder?
Also dein Quelltext muss ja in eine Extra-Datei. (welche Dateiendung?)
Und dann diese Datei per Cron aufgerufen werden?
Versteh ich das so richtig? Wenn ja, dann bräuchte ich nur noch die Dateiendung und dann teste ich das mal. Ergebnisse und Codes poste ich dann hier für alle anderen. Denke dass alles in allem das sehr sinnvoll und brauchbar ist.
Re: MySQL-Backup verfeinern
Posted: 2004-04-16 22:24
by captaincrunch
Also dein Quelltext muss ja in eine Extra-Datei.
Ja, die Endung ist piepegal, das File muss nur das x-Bit haben.
Und dann diese Datei per Cron aufgerufen werden?
Ja, aber probier's erstmal per Hand.
Re: MySQL-Backup verfeinern
Posted: 2004-04-16 22:25
by svenk
keine dateiendung oder .sh :)
Ist nen Shellscript. Das ist es Realativ egal welche endung du machst.
Re: MySQL-Backup verfeinern
Posted: 2004-04-16 22:26
by tobias1985
x-Bit ? Sorry wenn ich etwas blöd Frage, aber solange mach ich noch nicht mit Linux rum. Bin erst dabei etwas tiefer einzusteigen, da für mich das auch berufliche Vorteile mal haben wird.
Also was bedeutet x-Bit?
Re: MySQL-Backup verfeinern
Posted: 2004-04-16 22:37
by tobias1985
So. Habs getestet.
Ordner /var/backup habe ich erstellt.
Das Script habe ich nun in /etc reinkopiert und ausgeführt.
Folgende Ausgabe bekomm ich:
p1234567:/etc # ./db_backup.sh
usr_web3_1.bak
usr_web3_2.bak
usr_web3_3.bak
usr_web3_4.bak
Und dann passiert garnichts mehr. So lange kann das ja nicht dauern oder? Hab eine Minute oder so gewartet aber er bleibt stehen und es passiert garnicht. Habs dann mit STRG+C abgebrochen, woraufhin ich dann eine leere Mail bekomme.
Re: MySQL-Backup verfeinern
Posted: 2004-04-16 22:57
by tobias1985
So. Liegt definitiv an dieser Zeile:
Code: Select all
`which uuencode` backup.sql.gz | mail -s 'DB Backup from web3' mail@adresse.de
Und ja uuencode ist installiert. Den Befehl nutze ich ja bereits in meinem alten Script das funktioniert.
Re: MySQL-Backup verfeinern
Posted: 2004-04-17 07:44
by captaincrunch
Dann gib einfach den vollen Pfad zu uuencode statt der ` und des which an.
Re: MySQL-Backup verfeinern
Posted: 2004-04-17 11:09
by tobias1985
CaptainCrunch wrote:Dann gib einfach den vollen Pfad zu uuencode statt der ` und des which an.
Nö, geht nicht. Hier mal der aktuelle Code:
Code: Select all
#!/bin/sh
cd /var/backup
for i in usr_web3_1 usr_web3_2 usr_web3_3 usr_web3_4
do
`which mysqldump` -u Username -pPasswort -B $i > $i.sql
done
tar cvzf ./backup.sql.gz *.sql
/usr/bin/uuencode backup.sql.gz| mail -s 'DB backup from web3' mail@adresse.de
Re: MySQL-Backup verfeinern
Posted: 2004-04-17 18:23
by captaincrunch
Ã?ndere mal die erste Zeile in
und poste das Ergebnis des Aufrufs (Passwort bitte vorher unkenntlich machen).
Re: MySQL-Backup verfeinern
Posted: 2004-04-18 13:00
by tobias1985
CaptainCrunch wrote:Ã?ndere mal die erste Zeile in
und poste das Ergebnis des Aufrufs (Passwort bitte vorher unkenntlich machen).
Dann kommt folgendes und er bleibt wieder nach der letzten Zeile stehen und es passiert garnichts mehr. Muss dann mit Strg+C abbrechen.
Code: Select all
+ cd /var/backup
++ which mysqldump
+ /usr/bin/mysqldump -u Username -pPasswort -B usr_web3_1
++ which mysqldump
+ /usr/bin/mysqldump -u Username -pPasswort -B usr_web3_2
++ which mysqldump
+ /usr/bin/mysqldump -u Username -pPasswort -B usr_web3_3
++ which mysqldump
+ /usr/bin/mysqldump -u Username -pPasswort -B usr_web3_4
+ tar cvzf ./backup.sql.gz usr_web3_1.sql usr_web3_2.sql usr_web3_3.sql usr_web3_4.sql
usr_web3_1.sql
usr_web3_2.sql
usr_web3_3.sql
usr_web3_4.sql
+ /usr/bin/uuencode backup.sql.gz
+ mail -s 'DB backup from web3' mail@adresse.de
Re: MySQL-Backup verfeinern
Posted: 2004-04-18 13:12
by captaincrunch
Dann probier's mal so:
Code: Select all
#!/bin/sh
cd /var/backup
for i in DB1 DB2 DB3 USW
do
`which mysqldump` -u Username -pPasswort -B $i > $i.bak
done
/bin/tar cvzf ./backup.sql.gz *.bak
`which mutt` -a ./backup.sql.gz -s DB-Backup bla@blub.example
Re: MySQL-Backup verfeinern
Posted: 2004-04-18 13:25
by tobias1985
Dann kommt:
which mutt: command not found
Wenn ich nur mutt (ohne which) eingebe und ausführe, dann muss ich erst nochmal "to:" bestätigen, dann "Subject:" bestätigen, dann komm ich in irgendein leeres File. Aus diesem gehe ich dann mit :q raus. Und die Mail wurde nicht verschickt.
Davon abgesehen dass keine Mail rausgeht, ist es auch doof dass ich erst alles bestätigen müsste, da ich das ganze ja dann per Cron laufen lassen will.
Re: MySQL-Backup verfeinern
Posted: 2004-04-18 16:10
by flo
Schau Dir doch einmal metamail an - das läuft bei mir ganz gut.
flo.
Re: MySQL-Backup verfeinern
Posted: 2004-04-18 17:48
by tobias1985
Habs hinbekommen mit einem Extra-Script. Poste ich alles wenn alles zu 100% funktioniert.
Nun gibts immer noch ein Problem. In den *.sql-Dateien sind statt Absätze solche Rechtecke drin. Also so wie wenn ich was vom FTP öffnen will und binär gewählt ist. Dann sind ja auch anstelle der Absätze so Rechtecke.
Also wenn dafür noch jemand eine Lösung weiß wäre es super. Oder ist das egal, wenn ich eine solche Datei mit PHPmyadmin reinladen will?
So. Ich werd jetzt noch einen Cron einrichten und wenn das Backup heute Nacht funktioniert werde ich eine genaue Anleitung schreiben und hier ins Forum stellen.
Re: MySQL-Backup verfeinern
Posted: 2004-04-18 18:01
by tobias1985
Ok. Doch noch 1 Problem. Wenn der Cron ausgeführt wird, wird die Mail verschickt.
Allerdings bekommt "root" eine Mail mit folgendem Inhalt:
usr_web3_1.sql
usr_web3_2.sql
usr_web3_3.sql
usr_web3_4.sql
Kann man das irgendwie verhindern?
Re: MySQL-Backup verfeinern
Posted: 2004-04-18 18:02
by captaincrunch
Ja:
Code: Select all
/bin/tar cvzf ./backup.sql.gz *.bak >/dev/null 2>&1
Re: MySQL-Backup verfeinern
Posted: 2004-04-20 23:35
by amcd
Code: Select all
`which mysqldump` -u Username -pPasswort -B $i > $i.bak
müsste das hier nicht -p Passwort heissen anstatt -pPasswort?
Re: MySQL-Backup verfeinern
Posted: 2004-04-20 23:42
by captaincrunch
Wenn's dir lieber ist, schreib halt "--password=BLA"