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:
Tägliches MySQL-Komplettbackup als Dump. So gehts.
-
- Posts: 170
- Joined: 2003-05-08 12:17
- Location: Stuttgart
-
- Posts: 92
- Joined: 2003-04-25 15:08
Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.
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
Versuchs mal mit .sh
-
- Posts: 170
- Joined: 2003-05-08 12:17
- Location: Stuttgart
Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.
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?
Hab ich da was falsch verstanden?
-
- Posts: 92
- Joined: 2003-04-25 15:08
Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.
Eigentlich hast du alles richtig gemacht.
Weiß jetzt leider auch nicht, woran das liegt.
Du solltest aber noch mal die Verzeichnisse
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).
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
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).
-
- Posts: 170
- Joined: 2003-05-08 12:17
- Location: Stuttgart
Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.
? Also wenn ich mir dein Script ansehe, dann heißt die Datei doch mailbody.conf und befindet sich in /Root/Backup oder?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).
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
-
- Posts: 92
- Joined: 2003-04-25 15:08
Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.
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.
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.
Re: Tägliches MySQL-Komplettbackup als Dump. So gehts.
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:
Erklärung: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
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