Pihole´s Gravity DB mit cronjob updaten - Ja gern aber wie?

Ich habe hier einen Pihole-Server in einer virtuellen Debian Maschine laufen und würde das „Update Gravity“ gern 1 x täglichen mit einem cronjob automatisieren.

Leider bekomme ich das aber eure Hilfe anscheinend nicht hin :frowning:
Was habe ich bislang gemacht ?
Ich habe mir auf den entsprechenden Seiten die Syntax für einen vergleichbaren Job rauskopiert und modifiziert…

25 14 * * * /.home/meinname/scripts/update-gravity.sh

Um 14:25 Uhr soll also 1 x täglich das Script update-gravity.sh im Verzeichnis home/meinname/scripts gestartet werden. Das Script beinhaltet nur die 3 nachstehenden Befehle:

  • clear
  • sudo pihole -g
  • clear
    echo Update der Gravity Datenbak ist beendet

Dieses Script wurde mit chmod +x ausführbar gemacht.
Füge ich nun den vorgenannten Cronjob mit crontab -e hinzu und speichere die Datei dann ab, erhalte ich die Bestätigung „crontab: installing new crontab“.

Kommt dann die Zeit, passiert im Terminal …gar nichts.
Was mache ich falsch ? Bite um Hilfe.

Hallo,

Pihole macht das einmal die Woche eh schon, schau dir das doch mal an.

Schaue einfach mal hier unter 7.2.
Aktuell ist es dort auf einmal die Woche beschränkt, was auch ausreichend ist. Wenn du es wirklich täglich ausführen möchtest, kannst du die Datei bearbeiten und die 0 durch „*“ ersetzen.

Danke für die Tips und Hinweise. Ich kenne den Updatezyklus von Pihole. Auch den Hinweis von Dir @werner kenne ich und hatte ich auch schon versucht.

Mein Problem war aber ein anderes. Ich logge mich per ssh auf meinen Pihole ein und hatte die Erwartung das laufende Update im Terminal auch zu sehen; genauso wie man es sieht wenn man im Terminal einfach pihole -g eingibt.
Das war aber nicht der Fall, obwohl ich später dann das von mir per crontab angestossene Update im Query Log sehen konnte. Mittlerweile habe ich auch den von mir jetzt vermuteten Grund dafür gefunden.
Bei der ssh-Konsole handelt es um eine sogenannte Pseudo-Konsole und ich vermute mal das die Ausgabe des Cronjobs in Linux nicht zu einer Pseudo-Konsole geleitet wird. Wie auch immer, jetzt läuft es.
Danke nochmals an euch…

Falls du laufende Prozesse sehen möchtest, kannst du dir die Software „screen“ mal ansehen und versuchen damit einen cronjob zu erstellen. Wirklich sinnvoll ist es nicht, da cron ja eben Prozesse im Hintergrund laufen lassen soll.
Darüber hinaus könntest du dein Skript ansonsten auch so überarbeiten, dass dir der Output, der im Prozess entsteht in eine Datei geschrieben wird, in dem Fall wäre das z.B. /.home/meinname/scripts/update-gravity.sh >> /.home/meinname/scripts/update-gravity.log

Danke @werner , funktioniert :slight_smile: