
unter Debian als Root (mit su -)
Erstens gibt es bereits einen Job im Server (der von jemand anderem erledigt wird), wenn ich tippe
crontab -e
Ich bekomme
# m h dom mon dow command
* * * * * sh /opt/somescript.sh
Es wird jede Minute ausgeführt.
Wie dem auch sei, ich versuche, der Crontab einen geplanten Job hinzuzufügen: Ich möchte versuchen, einen zweiten Job hinzuzufügen, der jeden Tag um 00:30 Uhr ausgeführt wird.
30 0 * * * sh /opt/newscript.sh
Ich habe zwei Probleme:
- Ich kann die Crontab nicht bearbeiten mit
crontab -e
- Ist meine Newscript-Planung richtig?
Antwort1
Ihre Planung ist richtig. Ich bin nicht sicher, warum Sie die Crontab nicht bearbeiten können. Erhalten Sie eine Fehlermeldung?
Antwort2
Wenn Sie etwas wie Folgendes erhalten:
crontab: you are not authorized to use cron. Sorry.
Fügen Sie Ihren Benutzernamen hinzu /etc/cron.allow
(oder /etc/cron.d/cron.allow
, abhängig von Ihrer Konfiguration).
Sie haben nicht erwähnt, auf welchem System Sie arbeiten, aber mehrere kommerzielle Unix-Systeme verwenden standardmäßig ed
als Editor anstelle von etwas Sinnvollem wie vi
. Setzen Sie es EDITOR=vi
und versuchen Sie es erneut:
$ EDITOR=vi crontab -e
vi
Welches wird als Ihr Editor verwendet . Ersetzen Sie es vi
durch emacs
oder sogar [schaudern] pico
, was auch immer Ihnen am angenehmsten ist.
Eine andere Möglichkeit besteht darin, das folgende Dateiformat zu verwenden crontab
:
$ crontab /tmp/ctab
Dadurch wird der Inhalt der Datei /tmp/ctab
der Crontab für den aktuellen Benutzer zugewiesen. Sie können sie dann /tmp/ctab
mit einem beliebigen Editor bearbeiten (der Name ist nicht wichtig), der als einfacher Text speichern kann: vi
, emacs
, Xcode
, eclipse
, was auch immer. Führen Sie zunächst Folgendes aus:
$ crontab -l > /tmp/ctab
Um eine Kopie der aktuellen Crontab zu erhalten, damit Sie sie ergänzen können (das crontab FILE
Formular ersetzt die aktuelle Crontab), gehen Sie wie folgt vor:
$ crontab /tmp/ctab
Um den Inhalt von zu importieren /tmp/ctab
.