leGeneral
13.02.08, 19:55
Ich habe versucht ein Script zu schreiben das per cronjob eine MySQL Datenbank sichert und im Netwerk speichert. Das funktioniert auch alles soweit ganz gut.
Nur in dem Fall in dem MySQL nicht gestartet ist klappt es nicht so wie ich es will. Es wird völlig ignoriert und einfach ein leeres File gespeichert.
#!/bin/bash
datum=`date +%Y-%m-%d-%H_%M`
echo 'Sicherung '$datum
mount > mountlist
grep //192.168.2.2/BackupDB mountlist
if test "$?" != 0
then
echo 'Laufwerk nicht gefunden, versuche zu mounten...'
mount -a
mount > mountlist
grep //192.168.2.2/BackupDB mountlist
if test "$?" != 0
then
echo 'LW konnte nicht eingebunden werden'
exit
fi
fi
cd /opt/lampp/bin
./mysqldump -uxxx -pxxx Praktikum > /mnt/BackupDB/praktikumDB_$datum.sql
find /mnt/BackupDB/praktikumDB_$datum.sql
if test "$?" = 0
then
echo 'Sicherung erfolgreich erstellt'
find /mnt/BackupDB -mmin +8 -name praktikumDB_* -exec rm {} \;
else
echo 'Es wurde keine Sicherung angelegt'
fi
Wie könnte ich denn am besten prüfen ob die Datenbank überhaupt gestartet ist bevor ich mysqldump ausführe? Ich möchte eine Meldung ausgeben da ich die Ausgaben mit "tee" in einem quasi Log festhalte.
Ich hoffe mal ihr könnte mir weiterhelfen.
Nur in dem Fall in dem MySQL nicht gestartet ist klappt es nicht so wie ich es will. Es wird völlig ignoriert und einfach ein leeres File gespeichert.
#!/bin/bash
datum=`date +%Y-%m-%d-%H_%M`
echo 'Sicherung '$datum
mount > mountlist
grep //192.168.2.2/BackupDB mountlist
if test "$?" != 0
then
echo 'Laufwerk nicht gefunden, versuche zu mounten...'
mount -a
mount > mountlist
grep //192.168.2.2/BackupDB mountlist
if test "$?" != 0
then
echo 'LW konnte nicht eingebunden werden'
exit
fi
fi
cd /opt/lampp/bin
./mysqldump -uxxx -pxxx Praktikum > /mnt/BackupDB/praktikumDB_$datum.sql
find /mnt/BackupDB/praktikumDB_$datum.sql
if test "$?" = 0
then
echo 'Sicherung erfolgreich erstellt'
find /mnt/BackupDB -mmin +8 -name praktikumDB_* -exec rm {} \;
else
echo 'Es wurde keine Sicherung angelegt'
fi
Wie könnte ich denn am besten prüfen ob die Datenbank überhaupt gestartet ist bevor ich mysqldump ausführe? Ich möchte eine Meldung ausgeben da ich die Ausgaben mit "tee" in einem quasi Log festhalte.
Ich hoffe mal ihr könnte mir weiterhelfen.