Bitte Anleitung zur Erstellung eines Cronjobs

omavoss

Vice Admiral
Registriert
März 2017
Beiträge
6.173
Hallo alle,

ich möchte auf dem Server, auf dem Pihole läuft (hier Proxmox mit Runtipi), einen Cronjob erstellen, durch den ein wöchentlicher Reboot eines Repeaters erfolgt. Der Reboot sollte montags morgens um 2.30 Uhr erfolgen. Also irgendwie so:

reboot der IP-Adresse 192.168.xxx.yyy wöchentlich montags 2.30 Uhr.

Alternativ bitte auch stündlich oder täglich einen ping auf die IP-Adresse des Repeaters per cronjob absetzen lassen, damit er "am Leben bleibt", wobei der Reboot den Vorzug hätte.

Hintergrund:
Der Repeater verliert nach einigen Tagen bis hin zu zwei Wochen die Verbindung zu seinem Accesspoint, dem konnte ich bisher immer durch einen Neustart des Repeaters (Stromstecker ziehen und wieder einstecken) entgegnen. Ich hoffe durch den Cronjob den Neustart automatisieren zu können.

Bitte keine Fragen zur verwendeten Hardware; es sind Chinateile, die bis auf den beschriebenen "Mangel" einwandfrei funktionieren.

Ein paar hilfreiche Links zum Thema wären auch willkommen, denn ich komme mit der Syntax von Cronjob bzw. mit den vielen * * * * nicht zurecht.

Viele Grüße und jetzt schon danke.
 
omavoss schrieb:
Bitte keine Fragen zur verwendeten Hardware;
Ohne die Hardware wird dir aber niemand sagen können, wie du den Reboot des Repeaters remote auslösen kannst. Oder hast du das schon selber recherchiert/getestet?
 
  • Gefällt mir
Reaktionen: konkretor, usernamehere, nutrix und 4 andere
kartoffelpü schrieb:
Oder hast du das schon selber recherchiert/getestet?
Ja, ich kann über das GUI des Repeaters, das ich vom Windows-LAN-Client aus erreichen kann, den Reboot auslösen.

Ich möchte den Reboot aber nicht vom Windows-Client aus auslösen, aber durch einen ohnehin im LAN laufenden Server. Es sind hier mehrere Raspis und auch der Proxmox sowie auch einige BananaPi im Einsatz, eines von den Kistchen soll den Cronjob übernehmen.
 
Als Tip:
Einfach die Frage in ChatGPT oder Copilot stellen, der wirft dir direkt ne Codezeile aus:

Um deinen Repeater wöchentlich automatisch neu zu starten oder ihn regelmäßig zu pingen, kannst du dies auf deinem Proxmox-Server (mit Runtipi) über einen Cronjob realisieren.

Hier sind zwei Möglichkeiten:

### 1. Wöchentlicher Neustart des Repeaters
Du kannst ein Skript erstellen, das den Repeater neu startet, indem es einen SSH-Befehl an den Repeater sendet oder durch eine Schaltsteckdose den Strom kurz trennt. Wenn das Gerät keine direkte Neustart-Funktion über SSH oder API unterstützt, kannst du einen smarten Plug verwenden, der per API steuerbar ist.

Beispiel für einen Cronjob, der den Repeater jeden Montag um 2:30 Uhr neustartet:
Bash:
30 2 * * 1 /pfad/zu/deinem_skript.sh

### Skript-Idee für den Neustart über SSH:
Bash:
#!/bin/bash
ssh user@192.168.xxx.yyy 'reboot'

Das Skript sollte entsprechend der Anmeldedaten und Verfügbarkeit von SSH auf dem Repeater angepasst werden.

### 2. Stündlicher oder täglicher Ping an den Repeater
Ein alternativer Ansatz wäre, regelmäßig einen Ping-Befehl an den Repeater zu senden, um zu überprüfen, ob er noch reagiert.

Beispiel für einen Cronjob, der stündlich einen Ping an den Repeater sendet:
Bash:
0 * * * * /bin/ping -c 4 192.168.xxx.yyy

Beispiel für einen Cronjob, der täglich um 2:30 Uhr einen Ping sendet:
Bash:
30 2 * * * /bin/ping -c 4 192.168.xxx.yyy

### Hinweise:
1. SSH-Konfiguration: Falls du den Neustart über SSH durchführst, stelle sicher, dass der SSH-Zugang eingerichtet ist (z. B. ohne Passwortabfrage, etwa durch hinterlegte SSH-Keys).
2. Cronjob-Zugang: Um Cronjobs auf deinem Server einzurichten, kannst du den Editor mit crontab -e aufrufen.
3. Smart Plug: Falls der Repeater nicht direkt per Befehl neustartbar ist, könntest du alternativ einen smarten Plug verwenden, den du per API oder Skript steuerst, um den Strom für den Repeater zu trennen und wieder anzuschalten.

Durch eine dieser Methoden sollte dein Repeater entweder regelmäßig neugestartet oder auf Funktionalität überprüft werden können.
 
  • Gefällt mir
Reaktionen: netzgestaltung, Nebuk und omavoss
Bash:
30 2 * * 1 DEINBEFEHL >> /var/log/repeater.log 2>&1

Damit führst du den Befehl "DEINBEFEHL" jeden Montag um 02:30 aus und speicherst das Protokoll in /var/log/repeater

Zur Erklärung:

30 = die dreißigste Minute
2 = die zweite Stunde
  • = jeder Monat
  • = jeder Tag
1 = Montag

Wie "DEINBEFEHL" aussehen muss, musst du aus der API-Beschreibung deines Repeaters entnehmen.

Hier ein Beispiel (samt Cronjob) für eine Fritz!Box:

https://github.com/nicoh88/cron_fritzbox-reboot

Dann bekommst du noch ein wenig Inspiration wie man dein Vorhaben in Gänze umsetzen kann.
 
  • Gefällt mir
Reaktionen: netzgestaltung, graywolf2, usernamehere und 3 andere
Nun, das mit dem ChatGPT ist mir noch nicht zu geläufig, aber es scheint zu funktionieren. Jedenfalls hat einer meiner RasPi per SSH und Nano den Job genommen . . .

OK, ich denke mit meinen nun fast 73 Jährchen auf dem Buckel darf ich mir so eine Frage erlauben.
 
  • Gefällt mir
Reaktionen: =dantE=, bart0rn, Lotsenbruder und eine weitere Person
Ich habe DIE Lösung dank ChatGPT gefunden.
Es war eigentlich ganz einfach. Der Cronjob ist inzwischen wieder gelöscht.
Bitte den Screenshot ansehen:
2024-09-05 23_08_02-APP.png

Danke vielmals sehr herzlich für den Hinweis auf ChatGPT. Bisher habe ich fast jedes Problem gegoogelt, nun ist der Horizont zur Problemlösung wesentlich erweitert.
 
  • Gefällt mir
Reaktionen: graywolf2, =dantE=, nutrix und eine weitere Person
omavoss schrieb:
OK, ich denke mit meinen nun fast 73 Jährchen auf dem Buckel darf ich mir so eine Frage erlauben.
Ja, natürlich darf man das!
Nur sind mir die Umstände unbekannt, deshalb das Interesse an den Hintergründen.
Dass das Zusammen-Googlen von Code teilweise schwierig sein kann, verstehe ich ja. Aber die Art der Fragestellung hier im Forum war schon sehr ungewöhnlich.
Meist geht damit schon ein eigener konkreter Versuch voraus der Teil des Posts ist.
Aber alles gut … passt ja nun.

… und wie bereits geschrieben … nix für ungut gell! :schluck:
 
  • Gefällt mir
Reaktionen: omavoss und Azghul0815
Zurück
Oben