Tiny Tiny RSS update daemon und systemd ...
Um den update daemon von Tiny Tiny RSS unter systemd (CentOS 7) auch bei einem Serverneustart direkt verfügbar zu haben, habe ich das unten stehende Unitfile geschrieben, vielleicht hilft es auch Euch.
Man kann von systemd halten, was man möchte, ich finde es aber deutlich eleganter als System V Initskripte.
Einfach nach
Testen mit
und, wenn alles erfolgreich war mit dem folgenden Befehl aktivieren:
Man kann von systemd halten, was man möchte, ich finde es aber deutlich eleganter als System V Initskripte.
[Unit]
Description=Tiny Tiny RSS update daemon
After=network.target mariadb.service
Requires=mariadb.service
[Service]
User=apache
Group=apache
WorkingDirectory=/â var/â www/â html/â ttr
Type=simple
StandardOutput=null
StandardError=syslog
ExecStart=/â usr/â bin/â php ./â update_daemon2.php
PrivateTmp=true
InaccessibleDirectories=/â home /â root /â boot /â opt /â mnt /â media
ReadOnlyDirectories=/â etc /â usr
[Install]
WantedBy=multi-â user.target
Einfach nach
/lib/systemd/system/ttrss-update.service
kopieren und mittels systemctl daemon-reload
einlesen (den Befehl muss man auch ausführen, wenn man das Skript manuell ändert).Testen mit
systemctl start ttrss-update
systemctl status ttrss-update
systemctl status ttrss-update
und, wenn alles erfolgreich war mit dem folgenden Befehl aktivieren:
systemctl enable ttrss-update
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Trolli Schmittlauch am :
Dirk Deimeke am :
Hast einen Link, wo die Konventionen beschrieben sind?
Florian Bruhin am :
Aber auch sonst ist das eine gängige Konvention, vermutlich auch im FHS ähnlich erwähnt.
Dirk Deimeke am :
Christian M. Grube am :
ps:
/etc/systemd/system/multi-user.target.wants/
ist das richtige Verzeichnis
Wobei jenes auch wieder auf /usr/lib/systemd/system/ verweist., per Links.
Ausgehend davon, setze das Script in
/etc/systemd/system/multi-user.target.wants/
alle anderen sind vom System selbst ausgehend und werden bei einem Update gekillt, gehe ich mal von aus
Fehler:
Apr 09 10:36:50 Â systemd[1]: Started Tiny Tiny RSS update daemon.
Apr 09 10:36:50 Â systemd[3395]: Failed at step NAMESPACE spawning /â usr/â bin/â php: Operation not permitted
Apr 09 10:36:50 systemd[1]: ttrss-update.service: main process exited, code=exited, status=226/NAMESPACE
Apr 09 10:36:50 systemd[1]: Unit ttrss-update.service entered failed state.
PrivateTmp=true
entfernen, dann sollte es gehen
Grüsse
Dirk Deimeke am :
Ich habe bei mir SELinux auf Permissive stehen und wollte das mal "die Tage" aufräumen, deswegen ist das bei mir nicht aufgepoppt.
Florian Bruhin am :
So zum Vergleich: Das, was mit dem Archlinux-Package mitkommt, sieht so aus:
Description=Tiny Tiny RSS feeds update daemon
After=network.target mysqld.service postgresql.service
[Service]
ExecStart=/usr/bin/php /usr/share/webapps/tt-rss/update.php --daemon
User=http
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
Ich glaube, ich muss mir InaccessibleDirectories und ReadOnlyDirectories mal genauer angucken!
Dirk Deimeke am :
Ich finde keinen Fehler in der Darstellung.
Quirin am :
*ExecStop=/bin/kill -15 $MAINPID*
stoppt den Service auch wieder.
Dirk Deimeke am :
Das macht systemd implizit, aber es anzugeben, ist in jedem Fall sinnvoll.