[gelöst] Problem mit zeitlicher Abfolge von einem Script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
nephilim
Beiträge: 39
Registriert: 06.03.2017 18:11:50

[gelöst] Problem mit zeitlicher Abfolge von einem Script

Beitrag von nephilim » 08.04.2017 15:32:21

Hallo zusammen,

sobald ich die IP meines Server von DHCP auf fest umstelle, haut die zeitliche Reihenfolge spezieller Skripte während des Serverstarts nicht mehr hin.

Hier mit DHCP, alles fein. Funktioniert, wie gewünscht:
Bild

Hier mit fester IP. Funktioniert nicht mehr, weil der Service (beacon.service) nahezu 6s zu früh gestartet wird:
Bild

Ich habe beacon.service so gestaltet:

Code: Alles auswählen

[Unit]
Description=neph:beacon.service:   Startet beacon.sh
After=bluetooth.service
Requires=collect.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/directory/beacon.sh

[Install]
WantedBy=multi-user.target
und so:

Code: Alles auswählen

[Unit]
Description=neph:beacon.service:   Startet beacon.sh
After=bluetooth.target
Requires=collect.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/directory/beacon.sh

[Install]
WantedBy=multi-user.target
Beides bringt nicht den erhofften Erfolg. Wie bekomme ich das gewünschte Ergebnis? Mein Wunsch ist, unabhängig ob DHCP eingestellt wurde oder eine feste IP, dass beacon.service nach bluetooth.target läuft, wobei beacon.service auf collect.service aufbaut.

LG // neph
Zuletzt geändert von nephilim am 09.04.2017 11:47:26, insgesamt 1-mal geändert.

scientific
Beiträge: 3022
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Problem mit zeitlicher Abfolge von einem Script

Beitrag von scientific » 08.04.2017 22:16:42

Dann füge collect.service auch noch zu After= hinzu.
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

nephilim
Beiträge: 39
Registriert: 06.03.2017 18:11:50

Re: Problem mit zeitlicher Abfolge von einem Script

Beitrag von nephilim » 09.04.2017 07:08:03

Moin,

hier die aktuelle Unit:

Code: Alles auswählen

[Unit]
Description=neph:beacon.service:   Startet beacon.sh
After=collect.service bluetooth.target
Requires=collect.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/directory/beacon.sh

[Install]
WantedBy=multi-user.target
Keine Ahnung, ob die Syntax und das "Design" der Unit in Ordnung sind, aber das Ergebnis ist nicht das Erhoffte:
Bild

Für mich sieht das so aus, als wenn er After=bluetooth.target ignoriert. Warum, weiß ich allerdings nicht. :-(

LG // neph
Zuletzt geändert von nephilim am 09.04.2017 11:44:37, insgesamt 1-mal geändert.

scientific
Beiträge: 3022
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Problem mit zeitlicher Abfolge von einem Script

Beitrag von scientific » 09.04.2017 09:11:34

Tausche bluetooth.target gegen bluetooth.service.
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

scientific
Beiträge: 3022
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Problem mit zeitlicher Abfolge von einem Script

Beitrag von scientific » 09.04.2017 09:26:55

Das target startet ja nur andere services und hat "keine Startdauer"
After bedeutet nicht "nach dem der andere Dienst beendet wurde", sondern, "nach erfolgreichem Start" und bluetooth.target ist eben schnell gestartet.
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

nephilim
Beiträge: 39
Registriert: 06.03.2017 18:11:50

Re: Problem mit zeitlicher Abfolge von einem Script

Beitrag von nephilim » 09.04.2017 11:44:01

Hab es jetzt. Läuft. :-)

Das Ergebnis:

Code: Alles auswählen

[Unit]
Description=neph:beacon.service:   Startet beacon.sh
After=bluetooth.service collect.service
Requires=bluetooth.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/directory/beacon.sh

[Install]
WantedBy=multi-user.target
Danke vielmals. :hail:

scientific
Beiträge: 3022
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: [gelöst] Problem mit zeitlicher Abfolge von einem Script

Beitrag von scientific » 09.04.2017 14:23:37

Gerne
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Antworten