Bedeutet dieser Crontab Code nicht Ausführung jeden Tag um 1 Uhr nachts?
So ist es. Jede Stunde ist
0 * * * * root /bin/systemctl restart homebridge
Ich mach das jetzt seit 30 Jahren. Ich muss es trotzdem jedesmal nachlesen.
Bedeutet dieser Crontab Code nicht Ausführung jeden Tag um 1 Uhr nachts?
So ist es. Jede Stunde ist
0 * * * * root /bin/systemctl restart homebridge
Ich mach das jetzt seit 30 Jahren. Ich muss es trotzdem jedesmal nachlesen.
So ist es. Jede Stunde ist
0 * * * * root /bin/systemctl restart homebridge
Ich mach das jetzt seit 30 Jahren. Ich muss es trotzdem jedesmal nachlesen.
He, den Sinn dahinter verstehe ich nicht ganz. Ich starte meine Homebridges meist nur durch, wenn ein Plugin-Update installiert wurde. Ansonsten laufen die durch, manchmal wochenlang. Vielleicht kann ich den Sinn dahinter auch nur nicht entdecken. Ich würde gern mal deine Sicht der Dinge erfahren, warum man eine Homebridge stündlich neu startet.
Ich würde gern mal deine Sicht der Dinge erfahren, warum man eine Homebridge stündlich neu startet.
Mich musst du danach nicht fragen. Ich starte ja nicht mal meinen Raspi neu. Die Homebridge starte ich immer dann neu, wenn es ein Plugin-Update gab. Ich handhabe das ganz genauso wie du.
Der Grundsatz lautet ja schon immer:
On Linux, be root.
On Windows, reboot.
Hallo Zusammen,
vorweg: ich habe viele der Artikel in diesem Forum zu dem Thema bereits gelesen, doch ich komme einfach nicht weiter. Alles hat damit angefangen, dass manchmal - aus mir unerfindlichen Gründen - meine Automationen nicht mehr funktionieren und einige der Devices im Homekit als „Fehler“ oder „Nicht erreichbar“ angezeigt wurden. Also wollte ich den Pi automatisiert neu starten.
Ich habe primär mit einer Anleitung von Nastra gearbeitet und einen crontab Job aufgesetzt.
Folgende Vorgehensweise habe ich dann angewendet:
1) Per ssh auf die Homebridge verbinden
2) Auf Root gehen und einen neuen Crontab anlegen
Zum Test habe ich nun die Zeile eingefügt, welche in der Anleitung von Nastra zu finden ist:
Dies hat problemlos geklappt. Der Raspberry wurde um 3 Uhr nachts neu gestartet. Leider hat das aber mein Problem nicht gelöst. Dennoch waren die Devices ab und zu nicht erreichbar und Automationen funktionierten dann nicht (z.B. morgens das Pflanzenlicht (OSRAM Plug) automatisiert einschalten). Ich habe festgestellt, dass es in den meisten Fällen ausgereicht hat, die Homebridge (Dienst) neu zu starten. Also wollte ich meinen Cron Job so abändern, dass nur die Homebridge ein mal pro Stunde neu gestartet wird.
So bin ich vorgegangen:
Wie oben beschrieben habe ich den „alten“ Cron Job wieder aufgerufen und die Zeile dann wie folgt geändert:
Das hat jedoch nicht funktioniert. Die Homebridge wurde nicht neu gestartet. Ich habe dann mehrere Varianten versucht und die Zeit zum Test auf 5 Minuten heruntergestellt:
1) 5 * * * * sudo /bin/systemctl restart homebridge
2) */5 * * * sudo systemctl restart homebridge
3) */5 * * * sudo /bin/systemctl restart homebridge
4) 5 * * * sudo systemctl restart homebridge
5) 5 * * * sudo /bin/systemctl restart homebridge
Und so weiter...natürlich nicht alle in ein Crontab, sondern nacheinander und dann immer wieder warten. Nichts passiert.
Wenn ich den Befehl (egal ob mit /bin/ oder ohne) eingebe, startet homebridge sofort neu. Aber im Cron will es einfach nicht klappen.
Auch mein Versuch mit „stop“ und „start“ hat nicht geklappt:
Sie wurde erst gar nicht gestoppt.
Als nächstes habe ich dann die oben beschriebenen Varianten versucht und vor dem sudo noch ein „root“ eingefügt. Auch ohne Ergebnis.
Ich weiß wirklich nicht weiter und was ich hier falsch mache...
Hat jemand noch einen Tipp für mich?
Danke und Gruß,
Micha
So muss das aussehen, wie sschuste es hier beschreibt: Homebridge automatisch regelmässige reboot Routine. Crontab - Wie geht das ?
0 * * * * root /bin/systemctl restart homebridge
60 * * * * sudo systemctl restart homebridge
Hier würde ich glauben, dass das nicht geht. Es gibt keine 60. Minute, jedenfalls nicht auf den Uhren, die man mir vor die Nase gehalten hat.
Am einfachsten ist es, du schreibst ein Skript, dass du stündlich ausführen lässt. Das legst du in das Verzeichnis /etc/cron.hourly. Skripte in diesem Verzeichnis werden ohne weiteres Zutun einmal pro Stunde von root ausgeführt. Das muss nicht unbedingt zur vollen Stunde sein.
sudo nano /etc/cron.hourly/homebridge-restart.sh
Abspeichern, ausführen machen mit chmod +x /etc/cron.hourly/homebridge-restart.sh, zurücklehnen.
In /etc/crontab siehst du, wann genau dein stündlicher Job ausgeführt wird. Bei mir steht dort:
17 * * * * root cd / && run-parts --report /etc/cron.hourly
Das Programm run-parts kümmert sich um dein Skript und führt es aus.
Hallo. Vielen Dank für die schnellen Antworten!
Ich habe es genau so gemacht wie in Deiner Anleitung beschrieben und ein Skript erstellt.
Wenn ich das Skript manuell ausführe mit...
dann startet homebridge neu. Allerdings passiert das nicht automatisch. Das Skript wird scheinbar nicht ausgeführt. Der Dienst läuft und läuft und läuft. Was mache ich falsch? Es müsste doch eigentlich funktionieren, wenn es manuell funktioniert, oder? Komischerweise wird der reboot ja auch ausgeführt, wenn ich einen cronjob erstelle. Nur eben der Neustart des Homebridge Dienstes nicht.
Vielen Dank nochmals.
Was mache ich falsch?
Das möchte ich auch gern wissen. In meinen Augen machst du nämlich schon die ganze Zeit nichts falsch.
Bleibt nur noch der Blick ins Log. Der crond speichert seine Einträge in /var/log/syslog. Ein grep -i cron /var/log/syslog könnte Aufschluss geben.
Ich danke Dir für Deine Antwort. So langsam verzweifle ich wirklich...
Das Log gibt auch keinen Aufschluss. Hier sieht es so aus, dass run-parts regelmäßig den cron.hourly ausführt.
Aber der Homebridge Dienst startet einfach nicht neu.
pi@homebridge:~ $ grep -i cron /var/log/syslog
Feb 9 00:17:01 homebridge CRON[29760]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 01:17:01 homebridge CRON[1763]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 02:17:01 homebridge CRON[6162]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 03:17:01 homebridge CRON[10585]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 04:17:01 homebridge CRON[14969]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 05:17:01 homebridge CRON[19422]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 06:17:01 homebridge CRON[24039]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 06:25:01 homebridge CRON[28942]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
Feb 9 07:17:01 homebridge CRON[28588]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 08:17:01 homebridge CRON[625]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 09:17:01 homebridge CRON[5033]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 10:17:01 homebridge CRON[9479]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Feb 9 11:17:01 homebridge CRON[13898]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Alles anzeigen
Hier nochmal ein Auszug aus „systemctl status homebridge“
pi@homebridge:~ $ systemctl status homebridge
● homebridge.service - Homebridge
Loaded: loaded (/etc/systemd/system/homebridge.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-02-08 21:15:38 CET; 14h ago
Process: 15015 ExecStartPre=/bin/run-parts /etc/hb-service/homebridge/prestart.d (code=exited, status=0/SUCCESS)
Process: 15042 ExecStartPre=/usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js before-start $HOMEBRIDGE_OPTS (code=exited, status=0/SUCCESS) Main PID: 15094 (node)
Tasks: 22 (limit: 4915)
CGroup: /system.slice/homebridge.service
├─15094 hb-service
└─15144 homebridge
Feb 08 21:15:37 homebridge systemd[1]: Starting Homebridge...
Feb 08 21:15:37 homebridge run-parts[15015]: Ensuring /var/lib/homebridge is owned by pi
Feb 08 21:15:37 homebridge run-parts[15015]: Setting port 8581 in /etc/nginx/sites-available/homebridge.local
Feb 08 21:15:37 homebridge run-parts[15015]: Reloading nginx...
Feb 08 21:15:38 homebridge systemd[1]: Started Homebridge.
Feb 08 21:15:39 homebridge hb-service.js[15094]: [08/02/2021, 21:15:39] [HB Supervisor] Homebridge Storage Path: /var/lib/homebridge
Feb 08 21:15:39 homebridge hb-service.js[15094]: [08/02/2021, 21:15:39] [HB Supervisor] Homebridge Config Path: /var/lib/homebridge/config.json
Feb 08 21:15:39 homebridge hb-service.js[15094]: [08/02/2021, 21:15:39] [HB Supervisor] Logging to /var/lib/homebridge/homebridge.log
Alles anzeigen
Hast Du noch irgendeine Idee dazu?
Danke und Gruß,
Micha
Nee. Vielleicht geht's ja mit sudo hb-service restart.
Guten Morgen.
sschuste Vielen Dank für deinen erneuten Tipp. Ich habe es jetzt in crontab umgesetzt:
Das funktioniert nun endlich! Der Dienst wird jede Stunde neu gestartet. Ich kann mir wirklich nicht erklären, warum der systemctl Befehl nicht funktioniert hat, aber so habe ich wenigstens eine Lösung.
Vielen Dank nochmals für Deine Unterstützung!!!
Hallo zusammen , ich habe mir nun die ganzen Beiträge durchgelesen, verstanden soweit auch, jedoch bin ich etwas verwirrt.
Ich würde Gerne das meine homebridge ein mal in der Stunde Neustarten, da ich ab & an Probleme mit einige Automationen habe , welche über homebridge erste möglich waren & nach einem Neustart wieder einwandfrei laufen.
Wäre es vllt möglich mir noch mal genau zu erläutern, was ich wo & wie eingeben muss, sodass dies Vorhaben angewandt wird ?
Grüße & schöne Ostertage
Und wie stellst du sicher, dass nicht während eines Neustarts Automationen aktiviert werden sollten und dann entfallen? Ich denke du produzierst da nur noch mehr Fehler.
Bei mir werden übrigens ganze Automationen gelöscht, wenn Hombridge-Geräte wegen "manueller" Neustarts nicht verfügbar sind.
Und falls du nur homebridge stündlich und nicht den gesamten Rechner neustarten willst, machst du es wie Stefan beschreibt, nur eben im Script als Befehl:
systemctl restart homebridge
Hallo Marco
Kannst du mir das vllt mal erläutern, weil genau das würde ich gerne machen, das meine homebridge Neustartet... nur hab nicht verstanden , wo ich was machen muss ...
Grüße & schönen Ostermontag
moin,
wie kann ich denn das script sudo /etc/cron.hourly/auto-reboot.sh wieder löschen/deaktivieren?
danke, funktioniert nicht.
evtl. weil das script erst gestoppt werden muss?
danke, funktioniert nicht.
War das die Fehlermeldung?
Hey Leute,
folgender Sachverhalt:
Regelmäßig wird meine Homebridge durch ein Script mit einem Backup gesichert und startet dann neu.
Manchmal kommt es beim Neustart dann vor, dass diverse Plugins beim Laden Fehler verursachen und das dann die HB am Starten hindert.
Da ich kein VPN habe, besteht dann nicht die Möglichkeit für mich, aus der Ferne aus die HB manuell neu zu starten. Dieser besagte Neustart (über Homebrige UI z.B) hilft meistens, dass die Plugins richtig laden und die Homebrige läuft.
Gibt es ein Script, Plugin o.ä. welches den HB Dienst automatisch neu startet, wenn Plugins nicht laden und die HB am Starten hindern??