Page 1 of 1

Datenbanksicherung per cronjob

Posted: 2007-06-01 21:34
by snick0r
Ich möchte nun endlich, was ich mir seit 3 Jahren vornehme :roll:, eine Datenbanksicherung per cronjob einrichten. Auf meinem Server läuft Plesk, über das ich die Cronjobs erstellen kann (siehe Bild 1):
http://www.wheatus.org/cronjob.jpg

Dort habe ich eingestellt, dass der cronjob täglich nachts um 02:00h durchgeführt werden soll.

In der backup.sh steht folgendes:
http://www.wheatus.org/cronjob-datei.jpg

Sollte doch funktionieren, oder? Leider nicht, hab ich was falsch gemacht?

Re: Datenbanksicherung per cronjob

Posted: 2007-06-01 22:06
by flo
Ist die Suche kaputt? :-)

Im Ernst - wenn Du schon Hilfe bei Scripten möchtest, poste sie bitte - keiner wird das abtippen und korrigieren.

flo.

Re: Datenbanksicherung per cronjob

Posted: 2007-06-01 22:20
by snick0r
Sorry ;)

Code: Select all

#!/bin/sh
DIR=`/xxx/httpdocs/backup/`
DATUM=`date ‘+%d-%m-%Y’`
mysqldump -uxxx -pxxx -hlocalhost xxx > $DIR/backup.sql
gzip -9 –best $DIR/backup.sql
mv $DIR/backup.sql $DIR/backup-${DATUM}.sql.gz
find $DIR/backup.sql -name *.sql.gz -mtime +5 -exec rm {} ;
Könnte daran was falsch sein?

Re: Datenbanksicherung per cronjob

Posted: 2007-06-01 22:29
by Joe User
Manpages lesen und Pfade/Optionen selbst anpassen:

Code: Select all

#!/bin/bash
DIR="/xxx/httpdocs/backup/"
DATUM=`/bin/date '+%d-%m-%Y'`
/usr/bin/mysqldump -uxxx -pxxx -hlocalhost xxx > $DIR/backup.sql
/bin/gzip $DIR/backup.sql
/bin/mv $DIR/backup.sql $DIR/backup-${DATUM}.sql.gz
/bin/find $DIR/ -name *.sql.gz -mtime +5 -exec /bin/rm {} ;
exit 0

Re: Datenbanksicherung per cronjob

Posted: 2007-06-01 23:22
by flo

Code: Select all

#!/bin/bash
DIR="/xxx/httpdocs/backup/"
DATUM=`/bin/date '+%d-%m-%Y'`
cd $DIR || exit 1
/usr/bin/mysqldump -uxxx -pxxx -hlocalhost xxx | gzip > backup-${DATUM}.sql.gz
/bin/find . -name *.sql.gz -mtime +5 -exec /bin/rm {} ;
exit 0
wäre mein Ansatz.

Re: Datenbanksicherung per cronjob

Posted: 2007-06-02 10:03
by snick0r

Code: Select all

[root@xxx]# ./backup.sh
-bash: ./backup.sh: Permission denied
Manuell klappt es nicht :(

Re: Datenbanksicherung per cronjob

Posted: 2007-06-02 10:37
by flo
chmod +x gemacht? Oder vielleihct doch lieber ein chmod 0700 auf die Datei? :twisted:

Re: Datenbanksicherung per cronjob

Posted: 2007-06-02 10:42
by snick0r
Hab die Rechte nun angepasst, hatte ich ganz vergessen, mache es nun auch nicht mehr über root. Allerdings bekomme ich nun folgendes:

Code: Select all

[userxxx@kekzdose ~]$ ./backup.sh
: No such file or directory

Re: Datenbanksicherung per cronjob

Posted: 2007-06-02 10:50
by Joe User
Pfade angepasst?

Re: Datenbanksicherung per cronjob

Posted: 2007-06-02 11:46
by flo
Leere Zeile am Anfang? :-)

Re: Datenbanksicherung per cronjob

Posted: 2007-06-02 12:11
by Joe User
Gentoo Linux:

Code: Select all

#!/bin/sh

/usr/bin/mysqldump --flush-logs --master-data --lock-all-tables --opt --delete-master-logs --all-databases -uDbUsEr -pDbPaSs > /backup/mysqldump_`date +%Y%m%d%H`.sql

/usr/bin/mysqlcheck --analyze --check --auto-repair --extend --optimize --all-databases -uDbUsEr -pDbPaSs

/usr/bin/find /backup/ -type f -name *.sql -mtime +7 -print0 | /usr/bin/xargs -0 /bin/rm -f

exit 0

Re: Datenbanksicherung per cronjob

Posted: 2007-06-02 13:17
by snick0r
Problem ist, dass ich die Pfade nicht weiß :(

Re: Datenbanksicherung per cronjob

Posted: 2007-06-02 13:49
by Joe User

Code: Select all

man which