micneu
Anmeldungsdatum: 19. Januar 2021
Beiträge: 758
Wohnort: Hamburg
|
Moin, ich wollte diesmal einen Dienst regelmäßig laufenlassen (anstatt cronjob)
Nach dem Erstellen der service & timer datei wird auch einmal der job abgearbeitet. Wenn ich warten sollte nach meiner Planung der dienst nach 5 Minuten wieder laufen.
Leider macht er das nicht.
Ich poste beide Dateien /etc/systemd/system/update_nginx_ips_2.timer
[Unit]
Description=Run update_nginx_ips_2.sh every 5 minutes
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
Unit=update_nginx_ips_2.service
[Install]
WantedBy=timers.target /etc/systemd/system/update_nginx_ips_2.service (in der service datei habe ich es mit Type=oneshot und auch simple getestet)
[Unit]
Description=Run my command update_nginx_ips_2
[Service]
Type=oneshot
ExecStart=/opt/update_nginx_ips_2.sh /etc/nginx/allowed-domain.list /etc/nginx/allowed-ips-from-domains-active.conf
RemainAfterExit=true
ausgabe von status
root@tmp-srv:/etc/nginx# systemctl status update_nginx_ips_2.service
● update_nginx_ips_2.service - Run my command update_nginx_ips_2
Loaded: loaded (/etc/systemd/system/update_nginx_ips_2.service; static)
Active: active (exited) since Wed 2024-08-07 17:52:46 CEST; 22min ago
TriggeredBy: ● update_nginx_ips_2.timer
Process: 13124 ExecStart=/opt/update_nginx_ips_2.sh /etc/nginx/allowed-domain.list /etc/nginx/allowed-ips-from-domains-active.conf (code=exi>
Main PID: 13124 (code=exited, status=0/SUCCESS)
CPU: 1.213s
Aug 07 17:40:23 tmp-srv systemd[1]: Starting update_nginx_ips_2.service - Run my command update_nginx_ips_2...
Aug 07 17:52:46 tmp-srv systemd[1]: Finished update_nginx_ips_2.service - Run my command update_nginx_ips_2.
root@tmp-srv:/etc/nginx# systemctl status update_nginx_ips_2.timer
● update_nginx_ips_2.timer - Run update_nginx_ips_2.sh every 5 minutes
Loaded: loaded (/etc/systemd/system/update_nginx_ips_2.timer; enabled; preset: enabled)
Active: active (running) since Wed 2024-08-07 17:07:24 CEST; 1h 8min ago
Trigger: n/a
Triggers: ● update_nginx_ips_2.service
Aug 07 17:07:24 tmp-srv systemd[1]: Started update_nginx_ips_2.timer - Run update_nginx_ips_2.sh every 5 minutes. root@tmp-srv:/etc/nginx# systemctl status update_nginx_ips_2.service
● update_nginx_ips_2.service - Run my command update_nginx_ips_2
Loaded: loaded (/etc/systemd/system/update_nginx_ips_2.service; static)
Active: active (exited) since Wed 2024-08-07 17:52:46 CEST; 23min ago
TriggeredBy: ● update_nginx_ips_2.timer
Process: 13124 ExecStart=/opt/update_nginx_ips_2.sh /etc/nginx/allowed-domain.list /etc/nginx/allowed-ips-from-domains-active.conf (code=exi>
Main PID: 13124 (code=exited, status=0/SUCCESS)
CPU: 1.213s
Aug 07 17:40:23 tmp-srv systemd[1]: Starting update_nginx_ips_2.service - Run my command update_nginx_ips_2...
Aug 07 17:52:46 tmp-srv systemd[1]: Finished update_nginx_ips_2.service - Run my command update_nginx_ips_2.
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
Zwei Dinge sind mir in der Service Unit aufgefallen: [Install] nicht gesetzt. Ob das solche Auswirkungen hat, weiß ich allerdings nicht, bei mir ist er in allen von mir erstellten Units mit
[Install]
WantedBy=default.target belegt.
RemainAfterExit=true gesetzt. Wofür man so etwas benötigt, ist in der Dokumentation leider nicht beschrieben, und da du ihn aktiv auf true gesetzt hast, wirst du dir irgendetwas dabei gedacht haben; und ich wüsste gern, was. Besonders in Verbindung mit
Type=oneshot ergibt das aus meinem Verständnis heraus nämlich keinen Sinn: warum sollte ein Skript aktiv gehalten werden, wenn es nichts mehr tut? Besonders an diesem Punkt vermute ich, dass das Skript deswegen nicht mehr neu gestartet wird, weil es seit dem vorherigen Durchlauf noch aktiv ist.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
micneu schrieb: ausgabe von status
root@tmp-srv:/etc/nginx# systemctl status update_nginx_ips_2.service
● update_nginx_ips_2.service - Run my command update_nginx_ips_2
Loaded: loaded (/etc/systemd/system/update_nginx_ips_2.service; static)
Active: active (exited) since Wed 2024-08-07 17:52:46 CEST; 22min ago
TriggeredBy: ● update_nginx_ips_2.timer
Process: 13124 ExecStart=/opt/update_nginx_ips_2.sh /etc/nginx/allowed-domain.list /etc/nginx/allowed-ips-from-domains-active.conf (code=exi>
Main PID: 13124 (code=exited, status=0/SUCCESS)
CPU: 1.213s
Aug 07 17:40:23 tmp-srv systemd[1]: Starting update_nginx_ips_2.service - Run my command update_nginx_ips_2...
Aug 07 17:52:46 tmp-srv systemd[1]: Finished update_nginx_ips_2.service - Run my command update_nginx_ips_2.
Wie sind die Ausgaben von:
systemctl is-active update_nginx_ips_2.service
pd -fp 13124
?
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
wxpte schrieb: Zwei Dinge sind mir in der Service Unit aufgefallen: [Install] nicht gesetzt. Ob das solche Auswirkungen hat, weiß ich allerdings nicht, ...
Wenn die service-unit von einer timer-unit ausgeführt wird, ist die [Install]-Section in der service-unit, nicht erforderlich.
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
Ah, OK. lubux schrieb: ...
pd -fp 13124
Meintest du hier evtl.
ps -fp 13124
❓
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
wxpte schrieb: Meintest du hier evtl.
ps -fp 13124
❓
Ja.
|
micneu
(Themenstarter)
Anmeldungsdatum: 19. Januar 2021
Beiträge: 758
Wohnort: Hamburg
|
lubux schrieb: Wie sind die Ausgaben von:
systemctl is-active update_nginx_ips_2.service
pd -fp 13124
?
root@tmp-srv:/etc/nginx# systemctl is-active update_nginx_ips_2.service
active root@tmp-srv:/etc/nginx# ps -fp 14110
UID PID PPID C STIME TTY TIME CMD
jetzt habe ich mal
RemainAfterExit=true
zu RemainAfterExit=false
geändert (warum, kann ich nicht mehr sagen, ich glaube ich habe so viel geändert das ich es übersehen habe)
danke das war die lösung.
hier noch meine geänderten timer & service datei
root@srv:~# cat /etc/systemd/system/update_nginx_ips_2.timer
[Unit]
Description=Run update_nginx_ips_2.sh every 5 minutes
[Timer]
#OnBootSec=2min
#OnUnitActiveSec=5min
#OnCalendar=*:00/5:00
OnStartupSec=60
OnUnitInactiveSec=300
Unit=update_nginx_ips_2.service
[Install]
WantedBy=timers.target [Unit]
Description=Run update_nginx_ips_2.sh every 5 minutes
[Timer]
#OnBootSec=2min
#OnUnitActiveSec=5min
#OnCalendar=*:00/5:00
OnStartupSec=60
OnUnitInactiveSec=300
Unit=update_nginx_ips_2.service
[Install]
WantedBy=timers.target
root@srv:~# cat /etc/systemd/system/update_nginx_ips_2.service
[Unit]
Description=Run my command update_nginx_ips_2
[Service]
Type=simple
ExecStart=/opt/update_nginx_ips_2.sh ...
RemainAfterExit=false
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
micneu schrieb: danke das war die lösung.
hier noch meine geänderten timer & service datei
OnUnitInactiveSec=300
Wenn das die Lösung war, warum benutzt Du jetzt "OnUnitInactiveSec=" statt "OnUnitActiveSec=", in deiner timer-unit?
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1388
|
micneu schrieb: jetzt habe ich mal
RemainAfterExit=true
zu RemainAfterExit=false
geändert (warum, kann ich nicht mehr sagen, ich glaube ich habe so viel geändert das ich es übersehen habe)
danke das war die lösung.
Dann kannst du diese Option auch gleich ganz weglassen, denn laut 🇬🇧 Dokumentation ist das der Default-Wert.
|
micneu
(Themenstarter)
Anmeldungsdatum: 19. Januar 2021
Beiträge: 758
Wohnort: Hamburg
|
lubux schrieb: micneu schrieb: danke das war die lösung.
hier noch meine geänderten timer & service datei
OnUnitInactiveSec=300
Wenn das die Lösung war, warum benutzt Du jetzt "OnUnitInactiveSec=" statt "OnUnitActiveSec=", in deiner timer-unit?
für mich funktioniert es jetzt so gut, und da der Job auch mal länger laufen kann, verstehe ich es so und haben meine Tests auch so ergeben das dann halt 5 Minuten gewartet wird
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
micneu schrieb: ... das dann halt 5 Minuten gewartet wird
Wie sind jetzt die Ausgaben von:
systemctl is-active update_nginx_ips_2.service
systemctl status update_nginx_ips_2.service
?
|
micneu
(Themenstarter)
Anmeldungsdatum: 19. Januar 2021
Beiträge: 758
Wohnort: Hamburg
|
hier die gewünschte ausgäbe
root@srv:~# systemctl status update_nginx_ips_2.{timer,service}
● update_nginx_ips_2.timer - Run update_nginx_ips_2.sh every 5 minutes
Loaded: loaded (/etc/systemd/system/update_nginx_ips_2.timer; enabled; preset: enabled)
Active: active (waiting) since Wed 2024-08-07 07:03:48 CEST; 1 day 1h ago
Trigger: Thu 2024-08-08 08:55:07 CEST; 2min 32s left
Triggers: ● update_nginx_ips_2.service
Aug 07 07:03:48 srv systemd[1]: Stopped update_nginx_ips_2.timer - Run update_nginx_ips_2.sh every 5 minutes.
Aug 07 07:03:48 srv systemd[1]: Stopping update_nginx_ips_2.timer - Run update_nginx_ips_2.sh every 5 minutes...
Aug 07 07:03:48 srv systemd[1]: Started update_nginx_ips_2.timer - Run update_nginx_ips_2.sh every 5 minutes.
○ update_nginx_ips_2.service - Run my command update_nginx_ips_2
Loaded: loaded (/etc/systemd/system/update_nginx_ips_2.service; static)
Active: inactive (dead) since Thu 2024-08-08 08:50:07 CEST; 2min 27s ago
Duration: 7.339s
TriggeredBy: ● update_nginx_ips_2.timer
Process: 180200 ExecStart=/opt/update_nginx_ips_2.sh... (code=exited, status=0/SUCCESS)
Main PID: 180200 (code=exited, status=0/SUCCESS)
CPU: 949ms
Aug 08 08:49:59 srv systemd[1]: Started update_nginx_ips_2.service - Run my command update_nginx_ips_2.
Aug 08 08:50:07 srv systemd[1]: update_nginx_ips_2.service: Deactivated successfully.
root@srv:~#
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
micneu schrieb: hier die gewünschte ausgäbe
timer wollte ich nicht wissen. Wie ist die Ausgabe von:
systemctl is-active update_nginx_ips_2.service
? Aber
Active: inactive (dead) since Thu 2024-08-08 08:50:07 CEST; 2min 27s ago
ist was anderes als:
root@tmp-srv:/etc/nginx# systemctl is-active update_nginx_ips_2.service
active
|
micneu
(Themenstarter)
Anmeldungsdatum: 19. Januar 2021
Beiträge: 758
Wohnort: Hamburg
|
jetzt aber, für mich sieht es gut aus
root@srv:~# systemctl is-active update_nginx_ips_2.service
inactive
root@srv:~# systemctl status update_nginx_ips_2.service
○ update_nginx_ips_2.service - Run my command update_nginx_ips_2
Loaded: loaded (/etc/systemd/system/update_nginx_ips_2.service; static)
Active: inactive (dead) since Thu 2024-08-08 08:55:11 CEST; 4min 31s ago
Duration: 1.189s
TriggeredBy: ● update_nginx_ips_2.timer
Main PID: 180808 (code=exited, status=0/SUCCESS)
CPU: 853ms
Aug 08 08:55:09 srv systemd[1]: Started update_nginx_ips_2.service - Run my command update_nginx_ips_2.
Aug 08 08:55:11 srv systemd[1]: update_nginx_ips_2.service: Deactivated successfully.
die ausgäbe ist von meinem live system
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14314
|
micneu schrieb: ..., für mich sieht es gut aus
Man will doch auch wissen, warum es jetzt "gut aussieht", oder? 😉
|