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

MySQL, PostgreSQL, SQLite
bravesurfer
Posts: 170
Joined: 2003-05-08 12:17
Location: Stuttgart
 

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

Post by bravesurfer »

So habe das o.g. Script mal unter backup.pl im o.g. von dir empfohlenen Verzeichnis abgelegt. Chmod 700 und Passwort bzw. User wurde auch eingetragen.

Wenn ich nun mit ./backup.pl im entsprechenden Verzeichnis ausführen möchte bekomme ich die Meldung ": No such file or directory"

Was mach ich den falsch, bin noch ziemlicher Anfänger :oops:
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08
 

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

Post by sven-reichelt »

Also entweder liegt es daran, dass du die benötigten Verzeichnisse nicht erstellt hast oder du das Script als .pl gespeichert hast.
Versuchs mal mit .sh
bravesurfer
Posts: 170
Joined: 2003-05-08 12:17
Location: Stuttgart
 

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

Post by bravesurfer »

Also ich habs nun mal mit .pl und auch mit .sh probiert also ./backup.pl bzw. ./backup.sh im /root/backup Verzeichnis ausgeführt. Bekomme nach wie voro.g Fehlermeldung obwohl auch /root/backup/myqsl und /root/backup/myqsl/logs erstellt wurde.

Hab ich da was falsch verstanden?
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08
 

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

Post by sven-reichelt »

Eigentlich hast du alles richtig gemacht.
Weiß jetzt leider auch nicht, woran das liegt.
Du solltest aber noch mal die Verzeichnisse

Code: Select all

 /root/backup
/root/backup/mysql
/root/backup/mysql/logs
auf ihre Benutzerrechte kontrollieren.
Sie solltem dem Root gehören und mindestens 700 haben.

Das backup.sh würde ich in /root/backup ablegen, auch wieder mit 700 für root.

Es kann auch sein, dass du vergessen hast, den Mailbody zu schreiben. Wenn du mein Script vollständig übernommen hast, muss dieses nur "info" heißen (also Textfile ohne Endung, nätürlich mit einem kleinen Info-Text) und un /etc liegen (wieder nur 700 für Root).
bravesurfer
Posts: 170
Joined: 2003-05-08 12:17
Location: Stuttgart
 

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

Post by bravesurfer »

sven-reichelt wrote:Es kann auch sein, dass du vergessen hast, den Mailbody zu schreiben. Wenn du mein Script vollständig übernommen hast, muss dieses nur "info" heißen (also Textfile ohne Endung, nätürlich mit einem kleinen Info-Text) und un /etc liegen (wieder nur 700 für Root).
? Also wenn ich mir dein Script ansehe, dann heißt die Datei doch mailbody.conf und befindet sich in /Root/Backup oder?
Oder ist das eine weitere Datei?
Was bewirkt den dann die mailbody.conf und was muß ich dann da reinschreiben? Dachte eigentlich das sei der Mailbody
sven-reichelt
Posts: 92
Joined: 2003-04-25 15:08
 

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

Post by sven-reichelt »

Ups, sorry!
Habe auf meinem Server eine andere Version, da heißt die Mailbody "info"!

Du hast natürlich recht. Sie liegt in dieser Version in /root/backup/mailbody.conf

Der Mailbody ist eigentlich unnütz.
Jedoch gab es bei mit immer Zicken, wenn der Mailbody fehle.

Du kannst da reinschreiben was du willst, ist in etwa so wie der Text den du bei einer eMail lesen kannst.
sunfire
Posts: 20
Joined: 2002-07-04 22:19
 

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

Post by sunfire »

loomit wrote: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 ;-)


Hi,

ich weiss nicht ob einer das mal ausprobiert hat, also ich habe. was mir dazu aufgefallen ist:

1. wie entpacke ich die Files die das script auspuckt? denn ich bekomme jedesmal eine fehlermeldung beim entpacken, das es sich hier nicht um ein gültiges TAR archiv handelt und daher das entpacken abricht

2. Der Email versand auch nicht klappt da ich die Meldung bekomme:
./mysqlbackup1: /var/backup/sql.txt: No such file or directory

und 3 noch weitere fehlermeldung kommen:

tar: /var/backup/mysql/datenbanken.tar.gz: file changed as we read it
tar: Error exit delayed from previous errors


öhm was ist denn nicht ok ?

er sichert zwar die Datenbanken einzeln, aber man kann sie nicht entpacken und eben auch nicht per Email versenden ??

über Hilfe wäre ich dankbar

Gruss

Sunny
Post Reply