[CentOS] Issue with "ExecStartPost" attribute in systemd daemon fail

Gestió Servidors

sysadmin.caos at uab.cat
Fri Nov 22 12:06:58 UTC 2019


Hi,

it seems there is no difference in "systemctl status crond"

:(

El 22/11/2019 a las 13:00, centos-request at centos.org<mailto:centos-request at centos.org> escribió:

Message: 3
Date: Thu, 21 Nov 2019 14:41:25 +0100
From: Leon Fauster <leonfauster at googlemail.com><mailto:leonfauster at googlemail.com>
To: centos at centos.org<mailto:centos at centos.org>
Subject: Re: [CentOS] Issue with "ExecStartPost" attribute in systemd
        daemon faile
Message-ID: <b58a12c2-5e5c-f7ce-d69d-d464538f1972 at gmail.com><mailto:b58a12c2-5e5c-f7ce-d69d-d464538f1972 at gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed

Am 21.11.19 um 14:28 schrieb Gesti? Servidors:


Hello,

I'm trying to configure a daemon (I'm doing tests with "crond" daemon) to send me an email after daemon restart. My "crond.service" file is:
# /etc/systemd/system/crond.service
[Unit]
Description=Command Scheduler
After=auditd.service systemd-user-sessions.service time-sync.target
#OnFailure=crond-notify-email@%i.service

[Service]
EnvironmentFile=/etc/sysconfig/crond
ExecStart=/usr/sbin/crond -n $CRONDARGS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=10s
ExecStartPost=/bin/sh -c "/etc/systemd/system/test.sh"

[Install]
WantedBy=multi-user.target
My "test.sh" is very simple:
#!/bin/sh
echo "CROND is restarting" | /usr/bin/mailx -s "crond failure notification" myemailaddress at mydomain

As you can see, I have added lines "Restart=on-failure", "RestartSec=10s" and " ExecStartPost=/bin/sh -c "/etc/systemd/system/test.sh"" to the original crond.service daemon file. Then, I run "systemctl daemon-reconfigure" and, from one console, I run "kill -9 `pidof cron`" for restarting crond daemon. After it, I receive an email... But now, if I run again ""kill -9 `pidof cron`", I don't receive any mail... I have notice that if I run "systemctl daemon-reload" and then kill crond process, mail is sent perfectly... but if I don't run "systemctl daemon-reload", mail is sent ONLY first time...

Why?


What is "status" showing (systemctl status crond)? For both cases
(first/second kill)? Any  differences?

--
Leon



More information about the CentOS mailing list