/etc/cron.daily/mysqldump
Code: Select all
#!/bin/sh
# 0. Verzeichnis vorbereiten
mkdir /tmp/dump
# 1. Datenbank auslesen
mysqldump -u root --password=xyz -A > /tmp/dump/mysqldump.txt
# 2. Ausgelesene Daten in zip packen
zip -rv /tmp/mysqldump.zip /tmp/dump/
# 3. Binärfile uuencodieren (also ASCII draus machen):
uuencode /tmp/mysqldump.zip /tmp/mysqldump.zip > /tmp/mysqldump.zip.uue
# 4. Mail zusammenbauen:
echo "To: mail@domain.de" > /tmp/mail.txt
echo "Subject: [BACKUP]Full MySQL Database Backup" >> /tmp/mail.txt
echo "Mysql Backup vom:" >> /tmp/mail.txt
date >> /tmp/mail.txt
cat /tmp/mysqldump.zip.uue >> /tmp/mail.txt
# 5. Mail versenden
sendmail -t < /tmp/mail.txt
# 6. Alles bereinigen
rm /tmp/mail.txt
rm /tmp/mysqldump.zip.uue
rm /tmp/mysqldump.zip
rm /tmp/dump/mysqldump.txt
rmdir /tmp/dump/