MySQL Backup einer db an email senden

Backup, Restore und Transfer von Daten
candoom
Posts: 12
Joined: 2004-01-05 17:57
 

Re: MySQL Backup einer db an email senden

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


tobias1985
Posts: 68
Joined: 2004-04-15 11:01
 

Re: MySQL Backup einer db an email senden

Post 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?
Post Reply