system.d führt Script in "system-sleep" nicht aus

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
caomhan
Beiträge: 120
Registriert: 04.09.2010 11:38:28

system.d führt Script in "system-sleep" nicht aus

Beitrag von caomhan » 14.07.2017 08:17:31

Hi Debian Freunde,

system.d führt mein Script nicht "nach Resume" aus. Ich habe keine Ahnung warum.
Ich habe bereits mehrere Ablageorte versucht, chmod +x ist gesetzt. Wenn ich das Script selber aufrufe, funktioniert alles.

Aktuell liegt es unter /lib/system.d/system-sleep/

Es ist ein sh-Script. Darin nicht viel mehr als

Code: Alles auswählen

#/bin/bash
service netatalk restart
Was einfach nur mein AFP Dienst neustaretet, weil dieser seit der letzten Version ab und zu hängt nach "resume" und meine Laufwerke nicht verbunden werden können.

Allerdings wird – egal wo das script liegt – überhaupt nicht ausgeführt.

Ob der Task nun "suspend" oder "resume" ist – was man ja scheinbar im Script abfragen kann (wie in den Beispielen) brauche ich nicht – ist ja "wurscht" wenn er das auch beim suspend macht.
Allerdings ging es mit den IF Bedingungen auch nicht.

Vielleicht kann mir Jemand weiterhelfen und mir sagen, woran es liegen könnte.

Danke,
caom

TomL

Re: system.d führt Script in "system-sleep" nicht aus

Beitrag von TomL » 14.07.2017 09:23:17

Das Script sollte in /usr/local/bin liegen. Damit es nach dem Sleep ausgeführt wird, braucht es eine eigene Unit, die enabled ist.

Code: Alles auswählen

cat /etc/systemd/system/suspend-resume.service

Code: Alles auswählen

[Unit]
Description=suspend-resume.service
After=suspend.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/bash-script-name

[Install]
WantedBy=suspend.target
Ich würde allerdings sehen, ob ich den Startbefehl aus dem Service direkt hier in die Unit eintragen kann. Das würde sowohl das Init-Script als auch den Starter in /usr/local/bin überflüssig machen.

caomhan
Beiträge: 120
Registriert: 04.09.2010 11:38:28

Re: system.d führt Script in "system-sleep" nicht aus

Beitrag von caomhan » 14.07.2017 09:35:17

Hatte ich vor ca. einer Woche auch bereits einmal probiert über diesen Weg.
Habe es nun nochmals so eingerichtet und mittels

Code: Alles auswählen

systemctl enable suspend-resume.service
aktiviert.

Mal schauen, ob es läuft.

Danke vorerst!

caomhan
Beiträge: 120
Registriert: 04.09.2010 11:38:28

Re: system.d führt Script in "system-sleep" nicht aus

Beitrag von caomhan » 18.07.2017 09:57:16

Also irgendwie läuft das nicht.
Wie kann ich das überprüfen? Gibt es eine Logfile in der steht, dass der suspend-resume.service ausgeführt wurde?

Hab nun einfach mal eine Textfile erstellt die mittels dem Shell Script mit "running" gefüllt wird.
Mal sehen, ob sich da was tut.

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

Re: system.d führt Script in "system-sleep" nicht aus

Beitrag von scientific » 18.07.2017 14:03:02

Wie sieht netatalk.service aus?

Code: Alles auswählen

 
systemctl cat netatalk.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: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: system.d führt Script in

Beitrag von scientific » 18.07.2017 14:09:19

Wahrscheinlich würd dieses File mit diesem Inhalt reichen

Code: Alles auswählen

 
cat /etc/systemd/system/netatalk.service.d/unit.conf

[Unit]
After=suspend.target sleep.target

[Install] 
WantedBy=suspend.target sleep.target
Danach

Code: Alles auswählen

systemctl daemon-reload


Und dann schick den Rechner schlafen und weck ihn wieder auf.

Lg scientific
Zuletzt geändert von scientific am 18.07.2017 14:26:45, insgesamt 1-mal geändert.
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: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: system.d führt Script in "system-sleep" nicht aus

Beitrag von scientific » 18.07.2017 14:20:23

Abgesehen davon müsste das Skript noch unterscheiden, ob es vor oder nach dem suspend gestartet wird, wenn du es wie im OP abfelegt hast.
Und warum verwendest du service und nicht systemctl?

Aber wenn du einen Service, der sowieso von systemd gehandhabt wird, verbessern willst, bleib doch direkt dabei, ohne Umweg über ein Skript. So wie von mir mit dem Drop-In gezeigt.

Lg scientific
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