Wann auch immer Juwel: ich :Ausgangsleistung, aber das logfile wird nicht angezeigt, wo ich es erwarten
In meinem schedule.rb
- Datei habe ich die folgenden Zeilen:
set :output, '/log/cron_log.log'
every 5.minutes do
command 'echo "hello"'
end
Lief ich whenever -w
wie vorgeschlagen, in dieser Frage Schienen, Verwendung Wann auch immer Juwel in der Entwicklung, und ich gehe davon aus das cronfile geschrieben und ausgeführt. (Ich habe versucht, einen Neustart des Rails-Servers als auch.)
Und wenn ich laufen $ crontab -l
sehe ich Folgendes:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash
-l -c 'echo "hello" >> /log/cron_log.log 2>&1'
Aber ich kann nicht finden die log-Datei. Ich checkte rails_project/log ~/log und /log ohne Erfolg. Auf OSX btw.
Wie kann ich die log-Datei geschrieben werden, die rails-Projekt-log-Ordner?
- dies funktioniert für mich. ohne führenden Schrägstrich '/' . set :output, 'log/cron_log.log'
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wo ist dein log?
Setzen Sie die Ausgabe-Ordner auf der obersten Verzeichnisebene:
Um zu sehen, ob die Datei vorhanden ist und ob es Daten enthält:
Erstellen der log-Datei, wenn nötig:
Zu öffnen, Berechtigungen für Ihre eigenen lokalen Debuggen (tun Sie dies NICHT in der Produktion!)
Ist Ihr Befehl ausgeführt?
Den Befehl ausführen manuell, um herauszufinden, ob es wie erwartet funktioniert:
Verbessern Sie Ihre Sicherheit und schützen Sie Ihren Weg, verwenden Sie vollständige Pfade:
Finden Sie den Befehl vollständiger Pfad:
Überprüfen, die von cron ausgeführt wird, als Sie erwarten:
Das grep Ergebnis sollten die Zeilen, die so etwas wie dieses:
Sind Sie auf einem Mac?
Wenn Sie nicht sehen, die Ausgabe in der syslog, und du bist auf einem Mac, möchten Sie vielleicht, darüber zu Lesen, der Mac OSX-Umstieg von
cron
zulaunchd
.Finden Sie in der cron-plist (/System/Library/LaunchDaemons/com.vix.cron.plist) und mit einem stdout/stderr Pfad zum Debuggen von cron selbst. Ich erinnere mich nicht, wenn launchctl launchctl entladen und laden der plist ist ausreichend, oder, da es ein system-daemon, wenn Sie Sie hätten neu starten, komplett. (siehe wo ist der cron log-Datei in lion)
, Wie Sie sich relativ zur Schiene?
Setzen den log-in relation zu einer Rails-app, lassen Sie den führenden slash (und in der Regel nennen es cron.log)
Legen Sie das Protokoll in einer bestimmten voll qualifizierte Verzeichnis:
Den Wenn wiki hat einige gute Beispiele, etwa die Umleitung der Ausgabe:
https://github.com/javan/whenever/wiki/Output-redirection-aka-logging-your-cron-jobs
Beispiele:
Rails
erkannt?$ sudo grep CRON /var/log/system.log
? Denn ich denke nicht, ich bin immer etwas