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

MySQL, PostgreSQL, SQLite
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München
Contact:
 

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

Post 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
adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA
 

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

Post by adjustman »

ja und da taucht mein Crojob nicht auf! :?:
adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA
 

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

Post 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
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

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

Post 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.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA
 

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

Post 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
adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA
 

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

Post 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.
cu aM
adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA
 

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

Post by adjustman »

es liegt auf der IP in /usr/local/bin/ als mysqlbackup :roll:

EDIT: Problem gelöst! das Script hatte kein Unix-Format.
Last edited by adjustman on 2003-04-23 23:58, edited 1 time in total.
cu aM
burgi
Posts: 74
Joined: 2003-03-14 21:19
 

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

Post 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?
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

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

Post 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:
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal
 

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

Post by thorsten »

dos2unix scriptname
behebt das Problem i.A.
burgi
Posts: 74
Joined: 2003-03-14 21:19
 

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

Post 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
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

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

Post by captaincrunch »

Anscheinend nicht. Such am besten mal auf http://rpmseek.org , in welchem Paket das File steckt.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
loomit
Posts: 6
Joined: 2002-09-25 12:05
Location: München
 

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

Post 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 ;-)
Last edited by loomit on 2003-04-24 14:29, edited 1 time in total.
burgi
Posts: 74
Joined: 2003-03-14 21:19
 

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

Post 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?
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

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

Post by captaincrunch »

Da würde ich dann recode nehmen ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
manuelw
Posts: 63
Joined: 2002-07-08 23:37
 

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

Post 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 ?
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08
 

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

Post 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!
loomit
Posts: 6
Joined: 2002-09-25 12:05
Location: München
 

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

Post by loomit »

@sven-reichelt:

lies mal meinen beitrag vom 24.04.
das skript macht genau das!
firefox747
Posts: 52
Joined: 2002-08-22 12:37
 

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

Post 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
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

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

Post 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 ... ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08
 

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

Post 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
root-maxel
Posts: 43
Joined: 2003-05-08 13:18
Contact:
 

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

Post 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
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08
 

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

Post 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.
bravesurfer
Posts: 170
Joined: 2003-05-08 12:17
Location: Stuttgart
 

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

Post 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!
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08
 

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

Post 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).
Post Reply