Cron sagt "Fehler in der crontab-Datei, kann nicht installieren"
Ich bin versucht, führen Sie die folgende Reihe von Befehlen, die zum erstellen von backups von MySQL-Datenbanken.
Wenn ich versuche, fügen Sie den Befehl, um meine crontab mit crontab -e
bekomme ich die Fehlermeldung "Fehler in der crontab-Datei, keine Installation" und fragt mich, ob ich es erneut versuchen möchten.
mkdir /home/mysql-backup/`date '+%m-%d-%Y'`; mysql -s -r -e 'show databases' | while read db; do mysqldump $db -r /home/mysql-backup/`date '+%m-%d-%Y'`/${db}.sql; done; rm -r -f `date --date="1 week ago" +%m-%d-%Y`; du -k |sort -n > output; mail -s "MySQL Backups" "[email protected]" < output
Gibt es etwas, ich sollte das ändern in dieser Datei? Oder sollte ich in eine Skriptdatei erstellen und aufrufen, die von cron.
Dank im Voraus für jede Hilfe können Sie zur Verfügung stellen.
Brechen definitiv, dass in einem Skript, die Sie nicht haben eine Fehlerprüfung oder-Behandlung. Es funktioniert jetzt, aber wenn es stirbt, würden Sie wahrscheinlich wollen, um zu wissen, warum er starb.
Sind Sie angeben, wie oft es getan werden sollte? ie
Sind Sie angeben, wie oft es getan werden sollte? ie
1 2 * * * command args
?InformationsquelleAutor Steven Sokulski | 2013-02-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie gab das Skript
crontab -e
es natürlich nicht Zustimmen wird. Eine Zeile in einer crontab-Datei gestartet werden soll mit 5 Feldern, die angibt, wenn Sie das Skript ausgeführt werden soll, als gelesen werden kann in crontab - manpage.Auf der anderen Seite, die meisten Linux-Distributionen haben heutzutage preset Einrichtungen für Dinge, die ausgeführt werden soll stündlich (/etc/cron.stündlich, täglich (/etc/cron.täglich), etc. Es ist viel einfacher zu legen Sie einfach Ihr Skript in eine Datei in das entsprechende Verzeichnis und es wird ausgeführt, die in der ausgewählten Zeit-raster. Ein zusätzlicher Vorteil ist, dass in diesen Dateien werden Sie nicht gezwungen, Stopfen alles in eine Zeile.
InformationsquelleAutor fvu
Ja; als Frage des Stils, wenn nichts anderes, ich Sie ermutigen, um die SQL-Befehle in ein shell-Skript, und dann führen Sie das shell-Skript aus
cron
. (Und, wie von Neuem darauf hin, die Kommando-Sequenz ist einfacher warten/Debuggen, wenn es kaputt ist in mehrere Zeilen, mit Kommentaren.) Aber-ist, dass alles, was Sie mit der Fütterung incrontab
? Schauen Sieman crontab
und fügen Sie die Felder, die angeben, wenn Sie den Befehl ausführen.InformationsquelleAutor Scott
Aus der crontab(5) Mann-Seite, es sieht aus wie Prozentzeichen (%) haben eine Besondere Bedeutung, so das ist wahrscheinlich, wo läufst du in Probleme.
Ja, dann sollten Sie Ihre Befehle in einer separaten shell-Skript und rufen, die aus der crontab-Zeile. Dies wird auch machen es viel einfacher zu Lesen, die crontab-Datei, und Sie können das format der script-schön, so dass es leichter zu pflegen. Und Sie können es testen separat aus der crontab so.
InformationsquelleAutor Geoff Gustafson