Ich muss einen Cron-Job einrichten, der eine mit gcc kompilierte ausführbare Datei einmal pro Stunde ausführt.
Ich habe mich als root angemeldet und getippt crontab -e
Dann habe ich Folgendes eingegeben und die Datei gespeichert.
0 * * * * /path_to_executable
Der Cron-Job funktioniert jedoch nicht.
Ich sehe, dass /...path_to_executable
ich beim Tippen einen Segmentierungsfehler bekomme. Ich kann die ausführbare Datei nur in dem Ordner ausführen, in dem sie sich befindet. Gibt es eine Möglichkeit, dieses Problem zu lösen?
Antworten:
sollte funktionieren, es sei denn, es muss noch etwas eingerichtet werden, damit das Programm ausgeführt werden kann.
quelle
Die Lösung, um dies zu lösen, besteht darin, herauszufinden, warum Sie den Segmentierungsfehler erhalten, und diesen zu beheben.
quelle
Sie können auch
@hourly
sofort von verwenden0 * * * *
quelle
@hourly
ist ein genaues Synonym für0 * * * *
, es gibt keinen Unterschied.Meinten Sie, dass die ausführbare Datei nicht ausgeführt werden kann, wenn sie aus einem anderen Verzeichnis aufgerufen wird? Dies ist eher ein Fehler in der ausführbaren Datei. Ein möglicher Grund könnte sein, dass für die ausführbare Datei einige freigegebene Bibliotheken aus dem installierten Ordner erforderlich sind. Sie können die Umgebungsvariable überprüfen
LD_LIBRARY_PATH
quelle
Wenn Sie Ubuntu verwenden, können Sie ein Shell - Skript in einem dieser Ordner setzen:
/etc/cron.daily
,/etc/cron.hourly
,/etc/cron.monthly
oder/etc/cron.weekly
.Weitere Informationen finden Sie in diesem Beitrag: /ubuntu/2368/how-do-i-set-up-a-cron-job
quelle
Da ich die
C
ausführbare Datei nicht auf diese Weise ausführen konnte, habe ich eine einfache Datei geschrieben ,shell script
die Folgendes bewirktIn der Liste der Cron-Jobs rufe ich das Shell-Skript auf.
quelle
verwenden
Um die Ausgabe Ihres Befehls zu sehen, können auch Fehler mit umgeleitet werden
auch du kannst verwenden
crontab -l
um zu überprüfen, ob Ihre Änderungen gespeichert wurden.
quelle