Systemd service starten nachdem service fertig ist.

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
TomL

Re: Systemd service starten nachdem service fertig ist.

Beitrag von TomL » 10.07.2017 16:46:28

scientific hat geschrieben: ↑ zum Beitrag ↑
10.07.2017 16:30:11
Es sind 3 einfache kleine Units mit insgesamt 24 Zeilen. Dein Skript zählt 42 (ohne Kommentar- und Leerzeilen)...
Ja, Du hast gewonnen... Deiner ist tatsächlich kleiner..... :facepalm: ... ich hoffe, Dir gehts jetzt besser......

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

Re: Systemd service starten nachdem service fertig ist.

Beitrag von scientific » 10.07.2017 17:04:38

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
10.07.2017 16:34:36
Ich sehe kein Grund deluge jemals auszumachen, aber den server laufen zu lassen. Normal sollte beides immer an sein :) Von daher kein Problem.

Kann man ein service starten, wenn ein Monitor angeschaltet wird? Dann muesste Kodi nicht immer laufen :D
Das glaub ich momentan weniger.
Aber du kannst kodi natürlich in Abhängigkeit davon ob ein User eingeloggt ist oder nicht, starten und stoppen.

Code: Alles auswählen

#cat /etc/systemd/system/kodi.service.d/unit.config
[Unit]
PartOf=user@1000.service
Dann wird Kodi gestartet, sobald sich der User mit der UID 1000 das erste mal einloggt (graphisch oder am TTY), und kodi.service wird wieder gestoppt, sobald sich der User mit der UID 1000 vom letzten Login ausloggt.

Voraussetzung dafür ist allerdings, dass in

Code: Alles auswählen

/etc/systemd/logind.conf
die Option

Code: Alles auswählen

KillUserProcesses=yes
entsprechend systemd-Standard und gegen den Debian-Standard gesetzt ist.
Mit dieser Option musst du dir allerdings für tmux und screen etwas überlegen (ich hab eine Lösung dafür!!). Denn solche Prozesse würde auch beendet werden, wenn sich der User am letzten Terminal ausloggt. Ist das auf no, dann kann und wird es passieren, dass hp-systray, zeitgeist oder ähnliche Dienste die über autostart gestartet werden beim Ausloggen nicht beendet werden und die Sessions bleiben hängen.

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

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Systemd service starten nachdem service fertig ist.

Beitrag von Lord_Carlos » 10.07.2017 18:50:54

So, ich glaube das laeuft :D Vielen dank.
Scheint mir als wenn du dir dafuer viel Zeit genommen hast. Ausdruecklichen dank an dir.
Auch an TomL.

_________________

Das ist ein NAS / Multimedia Center. Ich mach also Beamer + Anlage an und waehle via Smartphone ein Film aus. Mit einloggen ist da nicht viel.
Nachts wird parity erstellt und und alte Daten nach bitflip etc. untersucht.
Dann bekomme ich via email ein Bericht.

Kodi braucht ~500mb ram und 1 - 5% CPU obwohl es nichts macht.
Ich sollte mir ein App bauen was meine Anlage anmacht (hat http und telnet) und kodi started :D Das ist ein Projekt fuers naechste mal.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Systemd service starten nachdem service fertig ist.

Beitrag von Lord_Carlos » 11.07.2017 07:27:58

So, heute morgen ist das Skript zum ersten mal autonom gelaufen.
Um 0330 habe ich ein Email bekommen mit Neuen oder geloeschten Daten. Gibt es zu viele Aenderungen bricht das sync ab.

Bei erfolgreichem sync werden 5% meiner Daten "scrubed", also auf checksum Fehler ueberprueft.
Was ja 30 Minuten gedauert hat.

______________________________________

Haette man auch ein 3 Zeiler master Skript schreiben koennen? Also sowas wie TomL vorgeschlagen hat, aber was nur:
sytemctl stop deluge.service
su -c "mein script"
sytemctl start deluge.service


🤔

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

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

Re: Systemd service starten nachdem service fertig ist.

Beitrag von scientific » 11.07.2017 08:49:19

Sicher geht das auch. Viele Wege führen nach Rom. Dann läuft das Scrub-Skript halt außerhalb der Kontrolle von systemd.

Aber schön zu hören, dass es geklappt hat.
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