Raspberry Pi Autostart nach Netzwerk herstellung?

2 Antworten

Du könntest einen @reboot cronjob erstellen, welcher nach dem Start des Systems läuft. Innerhalb des Jobs könntest du mit curl in einer schleife so lange google aufrufen, bis du einen 200 code zurückbekommst. Ab diesen Zeitpunkt funktioniert das internet und du kannst das ausführen was du möchtest.

Dieser Cronjob, würde für jeden Start des Systems gelten. Könnte also passen. Du kannst natürlich auch anstatt eines scripts, ein Ansible Playbook gegen localhost laufen lassen.

Woher ich das weiß:Berufserfahrung – Ausgebildeter System Engineer (FISI)
Michi123170 
Fragesteller
 11.07.2023, 19:11

ja aber die script muss erstmal ins tty3 und sich da "einloggen"

0
SyntaxError95  12.07.2023, 15:14
@Renecap

Für einen Laien wäre zum anfangen sicherlich Ansible leichter, als direkt so ein spaggeticode schreiben zu müssen :D

1
Renecap  13.07.2023, 09:54
@SyntaxError95

Oftmals ist der Mehraufwand besser als wenn man mit weniger mehr Fehler macht.

0
joernius  12.07.2023, 16:29

Genauso gut einen Ping nach 8.8.4.4 abwerfen und nach 0 oder 100% packet loss abfragen.

0
joernius  13.07.2023, 10:18
@SyntaxError95

Nein, nicht egal. Manche Anbieter unterdrücken das Ping-Echo.
Ist der Kernel-Parameter net.ipv4.icmp_echo_ignore_all auf 1 oder die iptables-Einstellung echo-request uf DROP gesetzt verhindert die Ping-Antwort.

0
SyntaxError95  13.07.2023, 18:13
@joernius

Mir klar, in diesem Fall aber nicht:

ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: icmp_seq=0 ttl=58 time=42.839 ms
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=21.092 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=58 time=25.473 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=58 time=48.546 ms
1

Setze doch einen entsprechenden delay mit anachron bevor du nach dem Boot die sh ausführst.

Oder aber einen delay in das skript

SyntaxError95  11.07.2023, 19:18

Hardgecodete delays finde ich immer etwas dirty. Wenn mal doch etwas länger dauert hast du hier die Arschkarte. Wenn alles schneller geht ist dauert es länger, bis das Script läuft.

Einfache Möglichkeit, mit curl nach Internet zu prüfen z. B. solange ne Schleife zu gehen, bis 200 zurück kommt oder mit ping 1.1.1.1 anpingen bis eine Antwort kommt.

Wäre aus meiner Sicht die elegantere Lösung und wäre Unabhängig von den Umweltfaktoren.

0