Crontab bearbeiten

Crontab bearbeiten

Ich versuche jeden Tag, die Tabelle meiner Datenbank mit mysqldump, screen und crontab zu sichern. Wenn ich nur ausführe mysqldump, wird der Speicherauszug korrekt erstellt, aber wenn ich es über mache screen, ist die Ausgabedatei leer.

Crontab bearbeiten

crontab -e

Befehl hinzufügen

0 0 * * * screen -dmS MYDATABASE_MYTABLE_backup mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz

Antwort1

Ich bin mir nicht ganz sicher, was Sie in diesem Szenario mit screen erreichen wollen und warum es überhaupt benötigt wird. Aber Sie leiten (mit | .. > ) die Ausgabe von screen an die Dump-Datei weiter, nicht die Ausgabe des Programms, das in screen läuft. Sie müssen entweder das komplette Kommando in Anführungszeichen setzen - oder es ist wahrscheinlich besser, das Kommando in eine Skriptdatei zu schreiben und stattdessen einfach das Skript aufzurufen.

meinscript.sh:

#!/bin/sh
mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz

Bildschirm -dmS MYDATABASE_MYTABLE_backup myscript.sh

verwandte Informationen