bash Script wird nicht richtig ausgeführt über cronjob

  • Hallo liebe Community,

    ich versuche einen openVPN watchdog ans laufen zu bringen. Habe mir ein kleines bash Script geschrieben, welches schaut, ob das tun0 interface da ist. Wenn ja, passiert nichts. Wenn nein, wird der Dienst neu gestartet.
    Führe ich das Script direkt aus, funktioniert alles wie gewünscht. Trage ich es als cronjob ein, wird es laut log zwar ausgeführt, startet aber den Dienst nicht neu.
    Kann mir jemand sagen, was ich übersehen habe?


    nano openVPN_watchdog.sh:

    Bash
    #!/bin/bash
    if (ifconfig | grep tun0 > 0);
    then
            echo "tun0 interface gefunden"
    else
            echo "tun0 interface nicht gefunden"
            service openvpn restart
            echo "Dienst wurde neugestartet"
    fi

    sudo crontab -e:

    Code
    * * * * * /home/pi/openVPN_watchdog.sh >> /home/pi/openVPN_watchdog.log

    nano openVPN_watchdog.log

    Code
    tun0 interface nicht gefunden
    Dienst wurde neugestartet
    tun0 interface nicht gefunden
    Dienst wurde neugestartet
    tun0 interface nicht gefunden
    Dienst wurde neugestartet
  • bash Script wird nicht richtig ausgeführt über cronjob? Schau mal ob du hier fündig wirst!


  • oder im crontab path setzen

    PATH=/sbin:/bin:/usr/sbin:/usr/bin

    Damit hat es geklappt. Vielen Dank für die Hilfe, wieder etwas dazu gelernt :)

    Allerdings würde mich jetzt noch interessieren, wie ich es in der bash direkt schreiben müsste. ifconfig wird zu /sbin/ifconfig. Aber was fehlt bei service?

  • Hallo ThoThoThomas,

    Du kannst mit folgendem Linux-Kommando herausfinden, wo = in welchem Verzeichnis ein Kommando gespeichert ist.

    Code
    which service

    Dies ist deswegen wichtig, weil Du zu dem Zeitpunkt, wenn ein Cronjob gestartet wird, nicht davon ausgehen kannst, dass der Pfad der ausführbaren Programme bereits bekannt ist.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!