cron: Tägliche DB-Sicherung

MicMike

Registered User
Ich hab mir nun ein HowTo gesucht, um tägliche Backups meiner DB's zu machen.
Ich schildere hier kurz mein vorgehen, da ich irgendwo einen Fehler gemacht haben muss, denn es wird nicht gesichert.

Zielverzeichnis angelegt:

Code:
mkdir /var/backup/
Backup-Datei erstellt:

Code:
vi /var/backup/fbackup
Folgendes reingeschrieben:

Code:
#!/bin/sh
DATUM=`date '+%Y-%m-%d'`
mysqldump -uUSERNAME -pPASSWORT -hlocalhost --opt DBNAME > /var/backup/backup.sql
gzip -9 --best /var/backup/backup.sql
mv /var/backup/backup.sql.gz /var/backup/forumbackup-${DATUM}.sql.gz
Pfade wurden angepasst.

Script ausführbar machen:

Code:
chmod 700 /var/backup/fbackup
Script getestet:

Code:
cd /var/backup/
./fbackup
Hat funktioniert wie es sein sollte, Datei wurde erstellt, gepackt und ins Backupverzeichnis gespeichert

CronJob einrichten:

Code:
crontab -e
Neue Zeile hinzugefügt:

Code:
[SHIFT]+A
Folgendes eingefügt:

Code:
# Forum Backup - jeden Tag um 3:00 Uhr
0 3 * * * /var/backup/fbackup
Es sollte nun um 3 Uhr automatisch ein Backup gemacht werden - wird aber nicht

Server ist seit dem anlegen auch durchgestartet worden.

HowTo scheiße?
Ich scheiße-blöd?
Schreibfehler / Denkfehler ?
 

Huschi

Moderator
Staff member
MicMike said:
HowTo scheiße?
Da mir das Script vom Aufbau sehr bekannt vorkommt: Nein. ;)

Ich scheiße-blöd?
Kann ich nicht beurteilen, aber ich denke eher: Nein.

Schreibfehler / Denkfehler ?
Womit wir der Sache auf den Grund kommen.
Ich denke es hängt mit dem Cronjob bzw. mit cron zusammen.
Hat er eine Fehlermail geschickt? Bzw. um dies zu testen schreib doch folgende Zeile mit ins Script:
Code:
echo "Ja ich laufe"
Dann sollte cron zumindest eine Email an root schicken, wenn der cronjob ausgeführt wird.

huschi.
 

MicMike

Registered User
Huschi said:
Hat er eine Fehlermail geschickt? Bzw. um dies zu testen schreib doch folgende Zeile mit ins Script:
Code:
echo "Ja ich laufe"
Von einer Mail weiss ich nichts, nein.
Allerdings bestand bisher nicht die Notwendigkeit, Mails von root abzufragen, daher fehlt mir auch die Kenntnis, wie dies zu Bewerkstelligen ist. Ich bitte um eine kleine Erklärung :)

Das echo soll in das Backup-Script, nehm ich mal stark an?!
Na dann auf ins fröhliche editieren ;)
 
S

server4downs

Guest
MicMike said:
Von einer Mail weiss ich nichts, nein.
Allerdings bestand bisher nicht die Notwendigkeit, Mails von root abzufragen, daher fehlt mir auch die Kenntnis, wie dies zu Bewerkstelligen ist. Ich bitte um eine kleine Erklärung :)
Notwendigkeit??? Die besteht meiner Meinung nach auf einem Rootserver IMMER! Es können auch mal Mails dahin zurück geschickt werden... bla..bla...

Code:
vi /var/mail/root
Oder mit anderen Editoren ;)
 

Huschi

Moderator
Staff member
Entweder Du nimmst einen Mailclient wie z.B. pine oder das ältere Model elm.
Oder Du leitest die Mails an root dauerhaft auf z.B web1p1 um, indem Du folgendes ausführst:
Code:
echo "web1p1" >/root/.forward
(Statt web1p1 kannst Du auch eine vollständige Email-Adresse angeben.)

huschi.
 

MicMike

Registered User
Es war tatsächlich ein Schreibfehler, ein hundsgemeiner *grml*
Aber dank der Sache mit der root-Mail bin ich dann drauf gekommen :)

Danke für die schnelle Hilfe :)

@s4d:
Ich weiss, sowas gehört zu den grundlegenden Dingen, die man als Serverbesitzer wissen sollte.
Aber ich bin eher praxisorientiert, ein Problem wird gelöst wenn es auftritt, und nicht schon vorher, das bekomm ich doch nicht auf die Reihe.
 

sputnik

Registered User
@MicMike:

zum problem:
ersetze das null durch nen stern, quasi ändere die zeile

0 3 * * * /var/backup/fbackup

nach:

* 3 * * * /var/backup/fbackup
-CUT-
 

Huschi

Moderator
Staff member
sputnik said:
* 3 * * * /var/backup/fbackup
Dann wird von 3:00 bis 3:59 jede Minute das Script ausgeführt.
Ich glaub nicht, daß das im Sinne des Erfinders ist... ;)

PS: MicMike hat das Problem schon erledigt.

huschi.
 

Top