Bis jetzt habe ich noch nie versucht, einen Crontask auf meinem Mac hinzuzufügen. Zu meiner Überraschung warf es einen Fehler ..
[hayek@mac:/www/] 02:33:22 PM: crontab -e 1 .
crontab: no crontab for hayek - using an empty one
crontab: "/usr/bin/vi" exited with status 1
Wie kann ich herausfinden, warum es diesen Fehler auslöst?
Ich verwende Mac OS X Lion 10.7.2
crontab file
, die Tabelle von einer externen Datei zu installieren? Oder mit einem anderen Editor wieEDITOR=NANO crontab -e
?crontab -l
zeigt? Gibt es noch andere Nachrichten in/var/log/cron.log
oder/var/log/system.log
?Antworten:
In ~ / .vimrc hinzufügen:
quelle
~/.vimrc
Das Problem stellte sich heraus
vi
und hatte nichts mit cron zu tun. Tunexport EDITOR=vim
reparierte esquelle
export EDITOR=vim
und probieren Sie es aus.EDITOR=vim
hat das Problem nicht behoben - es hat mich nur zu einem neuen Fehler geführtcrontab: temp file must be edited in place
. Ich bevorzuge Vim, aber ich bearbeite Cronjobs so selten, dass ich glücklich genug bin, es zu tunNANO
... obwohl wenn jemand das Update kennt, ich sehr interessiert bin.Wenn Sie zu einem verwandten Thema die folgende Nachricht erhalten:
Versuchen:
1) Fügen Sie .bash_profile hinzu
2) Zu .vimrc hinzufügen
Quelle: http://drawohara.com/post/6344279/crontab-temp-file-must-be-edited-inplace
quelle
alias crontab "export VIM_CRONTAB=true; /usr/bin/crontab"
Ihr Editor auf Systemvariablen - Editor ist vi und vi itsn't Arbeit.
Versuchen:
quelle
Ich hatte das gleiche Problem und befolgte die Anweisungen zum Erstellen der Tabelle:
Und so entstand der Cron-Tisch, und dann konnte ich rennen
mit vi als standard editor und hatte keine probleme. Es ist, als ob vi die Datei nicht speichern könnte, aber sobald sie erstellt wurde, könnte es darauf zugreifen. Dies steht im Einklang mit der Fähigkeit, Folgendes auszuführen:
Kurioserweise werden die Tabellen in gespeichert
die kann nur als sudo gelesen werden.
quelle
Die beste Möglichkeit, dies zu diagnostizieren, ist die Erstellung einer neuen Crontab mit einem einfachen Eintrag wie:
Wenn das funktioniert, liegt das Problem bei dem speziellen Befehl, den Sie hinzugefügt haben. Könnten Sie es mit uns teilen und die Ergebnisse auch teilen, wenn Sie es direkt von Terminal.app ausführen, anstatt von einer Crontab?
quelle
/bin/date
kehrtWed Nov 23 15:03:49 PST 2011
wie erwartet.cron ist zugunsten von launchd veraltet.
Lingon ist ein großartiges kleines Tool zum Einrichten von Startagenten. Früher war es kostenlos, aber jetzt scheint es 3 $ zu sein.
Wikipedia hat eine gute launchd Seite beschreibt alle Schlüssel und die launchctl Werkzeug , das Sie zu aktivieren verwenden , um / deaktivieren sie.
quelle
Das Hinzufügen
au BufEnter /private/tmp/crontab.* setl backupcopy=yes
zu vimrc hat es für mich behoben. Siehe hier:http://vim.wikia.com/wiki/Editing_crontab
quelle
Ich habe dasselbe Problem unter OSX gesehen. Die Antwort lautet, dass Sie mit dem Befehl sudo als root ausgeführt werden, z.
Ich habe diese Idee von Gökhan Barış Aker oben.
quelle
sudo
platzieren sie cron jobs unter root user. Die Cron-Dateien unterscheiden sich für Ihren normalen und den Root-Benutzer.