Blick auf die letzte Zeile von mysql_dumb.sh: /usr/bin/mysqldump -u USER -pPASS DATABASE > /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
Die >
wird Umlenken der Ausgabe von mysqldump
in die Datei /var/www/dir/backup/backup_DB_
date +% d_ % m_% Y .sql
Möchten Sie eine Sicherung der Datenbank lokal speichern?
Wenn nicht, nehmen Sie die die > /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
und die crontab Eintrag
* * * * * /var/www/dir/sh/mysql_dump.sh 2>&1 | mail -s "mysql_dump" [email protected]
setzen Wenn Sie eine Kopie der Datei lokal wollen, würde ich vorschlagen tee
mit denen die Ausgabe schreiben, wird die Datei und setze die Ausgabe wieder auf stdout, die später von Crontab abgeholt wird.
würde ich die letzte Zeile der mysql_dumb.sh
ändern zu sein: /usr/bin/mysqldump -u USER -pPASS DATABASE > /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
Der Vorteil hierbei ist, Mail kann von stdout und isn die Informationen lesen: /usr/bin/mysqldump -u USER -pPASS DATABASE | tee /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
Wieder würde ich den crontab-Eintrag ändern zurück hängt nicht davon ab, dass die Datei geschrieben und dann korrekt gelesen wird. Obwohl das ein kleiner Unterschied sein kann, wird meiner Meinung nach die Verwendung von Tee zuverlässiger sein.
als Tipp, können Sie von leeren E-Mail verhindern gesendet werden, durch die '-E' Flag verwendet (' mail -E -s ... ') – shx2
@ shx2 das ist nicht, was die --help sagt, -E, --exec = COMMAND execut COMMAND – meffect
@ shx2 verpasste, ich musste sudo apt-get installieren bsd-mailx. http://manpages.ubuntu.com/manpages/utopic/man1/bsd-mailx.1.html – meffect