Page 2 of 2

Re: MySQL Backup einer db an email senden

Posted: 2004-04-16 15:28
by candoom
auch eine möglichkeit:

/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/



Re: MySQL Backup einer db an email senden

Posted: 2004-04-16 16:47
by tobias1985
Habs hinbekommen.
Sieht nun so aus:
42 16 * * * mysqldump -u Username -pPasswort -B db_1 db_2 db_3 db_4 | gzip -c9 |uuencode backup.sql.gz| mail -s 'DB backup from user' mail@adresse.de
Ich hätt das aber gern anders. Also zurzeit wird eine Textdatei erstellt und die gzippt. In dieser Textdatei sind alle Datenbanken drin.
Wie geht das jetzt, dass für jede Datenbank 1 Textdatei erstellt wird und dann alle zusammen in das gzip-File kommen?