crontab script funktioniert nicht mehr

PaulAtreides

Well-Known Member
Warum wird das Script in crontab nicht mehr aufgerufen? Ich sehe es daran, weil /etc/pf.remotelogin nicht mehr aktualisiert wird.
Vor paar Tagen lief es noch.

crontab -e (root)
Code:
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
# Standard habe ich weggelassen
#
*/5     *       *       *       *       -nqs /bin/sh /etc/pf.reloadtables

/etc/pf.reloadtables
Code:
umask 022
/usr/local/bin/curl -u user:password https://dyndns.server.com
/usr/local/bin/curl -s "https://www.webseite.de/get.php" -o /etc/pf.remotelogin

# PF Update
pfctl -t goodguys -T replace -f /etc/pf.remotelogin
 
Lass mal temporär in deinem Script, in der 2. Zeile nach der shebang (mit der Option -e) mit touch eine Datei im richtigen Verzeichnis erstellen, um zu sehen ob der cronjob ausgeführt wird.
 
Code:
     -n command
             No mail is sent after a successful run.  The execution output
             will only be mailed if the command exits with a non-zero exit
             code.  The -n option is an attempt to cure potentially copious
             volumes of mail coming from cron(8).

     -q command
             Execution will not be logged.

     -s command
             Only a single instance of command will be run concurrently.
             Additional instances of command will not be scheduled until the
             earlier one completes.
 
ich habe "touch /etc/pf.remotelogin" ins script eingefügt und er führt es nicht aus.
Was soll option -e sein?
Auf die Idee, "/etc/pf.remotelogin" für den Namen der Datei zu benutzen, muss man erst kommen. ;-)
Versuch mal mit z. B.: "/tmp/xyz11.txt".
Hat dein Script eine shebang? Mit der Option "-e":
Mit der Option "set -e" beendet sich das Skript nicht von Anfang an, sondern erst exakt an der Stelle, an der ein Befehl fehlschlägt.
BTW: Du könntest beim cronjob, die Optionen "-n" und "-q" für die Zeitdauer der Tests, weglassen bzw. nicht benutzen.
 
Ich würde auch erstmal ohne -n und -q prüfen, ob der Job überhaupt ausgeführt wird. Desweiteren, ob eventuell eine Instanz des Jobs aktuell läuft (und der Job durch den Schalter -s dadurch übersprungen wird).

Rob
 
mmkay :o.... #!/bin/bash -e ... hinzugefügt und nun geht es ....
War vorher auch nicht drin als ich noch kein Curl für das DDNS Update vom Server hatte.

Verwendet ihr DDNS vom Client um die Eingangsverbindung abzusichern ?
Ich habs mal ausprobiert aber das dauert mir zu lange bis die IP vom client im DNS aktualisert wird.
Im Moment läuft es über den Webserver
 
Zuletzt bearbeitet:
Zurück
Oben