Page 2 of 3

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-03 22:30
by floschi
adjustMan wrote:Funzt trotzdem nicht. Wie kann man testen, ob ein Cronjob klappt?
cronjobs tauchen im syslog auf ;)

Ansonsten einfach einen Dummy erstellen, sowas wie touch /root/testdatei oder so

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-03 22:48
by adjustman
ja und da taucht mein Crojob nicht auf! :?:

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-04 21:46
by adjustman
Also, ich habe jetzt mit crontab -e folgende zeile reingesetzt:

00 21 * * * /usr/local/bin/mysqlbackup

Dann hab ich gewartet :) und in syslog nachgeschaut. wieder nix. ?? Hat jemand `n Tip?

Das Script auf der Shell starten wird mit ner Fehlermeldung quittiert:

bad interpreter

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-05 09:08
by captaincrunch
Das Script auf der Shell starten wird mit ner Fehlermeldung quittiert:
bad interpreter
Dann ist schon die erste Zeile falsch. Poste mal einen Link auf die Datei, und man kann dir hier eher weiterhelfen.

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-05 13:54
by adjustman
Danke. Hier ist der Code.

Code: Select all

#!/bin/sh

date = `date -I`

mysqlcheck --all-databases --auto-repair --extended --optimize -uroot -ptest >/var/backup/logs/mysqlcheck-$date.log
mysqldump --all-databases -uroot -ptest --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: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-07 15:06
by adjustman
CaptainCrunch wrote:
Das Script auf der Shell starten wird mit ner Fehlermeldung quittiert:
bad interpreter
Dann ist schon die erste Zeile falsch. Poste mal einen Link auf die Datei, und man kann dir hier eher weiterhelfen.
Wie sähe denn der Link aus, wenn das Script dort liegen bleibt, wo es ist.

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-08 22:32
by adjustman
es liegt auf der IP in /usr/local/bin/ als mysqlbackup :roll:

EDIT: Problem gelöst! das Script hatte kein Unix-Format.

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-23 23:57
by burgi
adjustMan wrote:EDIT: Problem gelöst! das Script hatte kein Unix-Format.
Sicherlich blöde Frage, aber was ist eine keine Unix-Format Datei?

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-24 08:24
by captaincrunch
Sicherlich blöde Frage, aber was ist eine keine Unix-Format Datei?
Eine Datei, die (wie z.B. DOS) andere Zeilenumbrüche verwendet ... :wink:

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-24 10:46
by thorsten
dos2unix scriptname
behebt das Problem i.A.

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-24 11:05
by burgi
Der Bash-Eintrag gibt es, aber das Programm scheinbar nicht...(oder sehe ich da falsch?)

Code: Select all

login:/usr/local/bin # dos2unix mysqlbackup
bash: recode: command not found

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-24 11:13
by captaincrunch
Anscheinend nicht. Such am besten mal auf http://rpmseek.org , in welchem Paket das File steckt.

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-24 12:04
by loomit
hi,

nachdem ja jetzt schon ein paar mal der wunsch geäussert wurde, die db's einzeln zu sichern hier nun mein vorschlag dazu:

Code: Select all

for i in `mysql -uroot -ppasswort -Bs -e "show databases"`
do
     mysqldump -uroot -ppasswort --opt --quote-names "$i" | gzip -9 > "/var/backup/$i.sql.tgz"
done

rm /var/backup/datenbanken.tar.gz

tar -cvz /var/backup -f /var/backup/datenbanken.tar.gz

mutt -a /var/backup/datenbanken.tar.gz -s datenbanken-backup wohin@uchimm.er < /var/backup/sql.txt
Erklärung:

Das Skript liest in der ersten Zeile die Datenbanknamen aus und erstellt dann in der zweiten Zeile für jede Datenbank einen Dump in /var/backup (muss halt angelegt werden).
Danach lösche ich ein eventuell vorhandenes Archiv in /var/backup. Die nächste Zeile erstellt dann dieses Archiv, welches ich mir dann per email schicke. In der sql.txt steht der emailbody.
Dann kann man natürlich noch den obligatorischen cron job je nach gusto anlegen.

viel spaß beim ruhiger schlafen ;-)

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-24 12:52
by burgi
CaptainCrunch wrote:Anscheinend nicht. Such am besten mal auf http://rpmseek.org , in welchem Paket das File steckt.
Das spuckt 2 Pakete aus, welches soll ich nehmen?
nps oder recode?

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-24 13:18
by captaincrunch
Da würde ich dann recode nehmen ...

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-04-24 19:05
by manuelw
flo wrote:Habe gerade mein Update gemacht - von dem Original-RPMs von mysql.com auf die MySQL-Max

mysqlcheck ist inzwischen dabei, war es bei der 3.23.53 noch nicht ...

Auf jeden Fall läuft alles so wie vorher. ;-)

Grüße,

flo.
Hilfe, ich hab auch grad das Update gemacht, auf die 4.0.12 MAX, aber nix mit mysqlcheck ;(

Wie geht n das mit dem rpm ändern um die Zeiel einzufügen ?

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-05-22 12:35
by sven-reichelt
Hallo!

Habe gerade diesen Thread gefunden.

Da ich noch nicht so erfahren bin, wollte ich mal nachfragen, ob man einen Cron erstellen kann, der das Backup nach der Ausführung per eMail verschickt?

Danke!

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-06-11 17:32
by loomit
@sven-reichelt:

lies mal meinen beitrag vom 24.04.
das skript macht genau das!

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-06-12 14:44
by firefox747
@loomit
Könnte man den Archiv/oder Dumpnamen noch mit Datum versehen?
Also z.B.: db-2003-06-12.tar.gz oder so ähnlich?

Viele Grüße

Kai

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-06-12 14:48
by captaincrunch
Würde ich dann folgendermaßen machen :

Code: Select all

...
mutt -a /var/backup/datenbanken.tar.gz -s "datenbanken-backup `date +%D`wohin@uchimm.er < /var/backup/sql.txt 
Dabei bitte auf die Backticks vor und nach dem "date" achten ... ;)

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-06-12 15:23
by sven-reichelt
Also ich habe mein Script wie folgt:

Code: Select all

#!/bin/sh 

date=`date -I` 

mysqlcheck --all-databases --auto-repair --extended --optimize -u[user] -p[password] >/root/backup/mysql/logs/databasecheck-$date.log 
mysqldump --all-databases -u[user] -p[password] --opt | bzip2 -c > /root/backup/mysql/databasebackup-$date.sql.bz2 

rm /root/backup/mysql/databasebackup-current.sql.bz2 
rm /root/backup/mysql/logs/databasecheck-current.log 

ln -s /root/backup/mysql/databasebackup-$date.sql.bz2 /root/backup/mysql/databasebackup-current.sql.bz2 
ln -s /root/backup/mysql/logs/databasecheck-$date.log /root/backup/mysql/logs/databasecheck-current.log 

mutt -a /root/backup/mysql/databasebackup-$date.sql.bz2 -s Backup-MySQL-Database-$date email@domain.tld < /root/backup/mailbody.conf

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-06-12 15:52
by root-maxel
Hallo!

kann es sein das das Löschen der alten Backups im Originalscript nicht funktioniert, da nur Symbolische Links benutzt werden, die ein "rm -f" anscheinend nicht verfolgt und nur den Link, aber nicht die verlinkte Datei löscht?

Bei mir wird irgendwie nie ein Backup gelöscht... 8O

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-06-12 16:13
by sven-reichelt
Hallo!

Das siehst du schon richtig.

Aber da ich eh immer viel auf dem Server bin und Sachen prüfe, lösche ich diese von Hand.
Man könnte zwar eine weitere Log-Datei schreiben lassen, welche mit das letzte Datum enthält, diese auslesen lassen und mit der Variable das alte Backup löschen lassen.

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-06-14 22:54
by bravesurfer
Hallo,

finde das Sript soweit sehr gut! Gibts auch eine Möglichkeit mir das ganze dann jeweils nach dem sichern per Email zusenden zu lassen?
Das wäre genial und für mich wirklich die ideale Backuplösung meiner Datenbank!

Bin aber leider noch Anfänger und bekomme das wohl nicht hin!

Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.

Posted: 2003-06-15 02:43
by sven-reichelt
Hallo clemenz!

Kopier dir einfach mein Script und speicher es unter /root/backup und gib dem Script 700 für root (mehr nicht, sonst könnten es andere vielleicht einblicken).
Natürlich musst du noch die Variablen wie Passwort und deine eMail eintragen.
Dann das ganze mit Cron laufen lassen und fertig!

Code: Select all

#!/bin/sh 

date=`date -I` 

mysqlcheck --all-databases --auto-repair --extended --optimize -u[user] -p[password] >/root/backup/mysql/logs/databasecheck-$date.log 
mysqldump --all-databases -u[user] -p[password] --opt | bzip2 -c > /root/backup/mysql/databasebackup-$date.sql.bz2 

rm /root/backup/mysql/databasebackup-current.sql.bz2 
rm /root/backup/mysql/logs/databasecheck-current.log 

ln -s /root/backup/mysql/databasebackup-$date.sql.bz2 /root/backup/mysql/databasebackup-current.sql.bz2 
ln -s /root/backup/mysql/logs/databasecheck-$date.log /root/backup/mysql/logs/databasecheck-current.log 

mutt -a /root/backup/mysql/databasebackup-$date.sql.bz2 -s Backup-MySQL-Database-$date email@domain.tld < /root/backup/mailbody.conf
Achso, die /root/backup/mailbody.conf sollte einen kurzen Infotext enthalten, aber ohne Passwörter oder andere wichtige Sachen (natürlich auch wieder dem root zuordnen).