[systemd-devel] Temporarily stopping a service while oneshot is running
Ian Pilcher
arequipeno at gmail.com
Tue Mar 21 12:47:59 UTC 2017
I have a oneshot service (run from a timer) that updates the TLS
certificates in my mod_nss database. Because NSS doesn't support
concurrent access to the database, I need to temporarily shut down
Apache while the certificate update service is running.
Currently, I'm using the following entries in my .service file to
accomplish this:
[Unit]
Description=Update TLS certificates in mod_nss database
# Restart Apache, even if this service fails for some reason
OnFailure=httpd.service
[Service]
Type=oneshot
# Shut down Apache to avoid concurrent access to the mod_nss database
ExecStartPre=/usr/bin/systemctl stop httpd.service
ExecStart=/usr/local/bin/update-nss-certs
ExecStartPost=/usr/bin/systemctl start httpd.service
Is this the best way to do this? (I can't escape the feeling that there
ought to be a more idiomatic way of accomplishing this.)
--
========================================================================
Ian Pilcher arequipeno at gmail.com
-------- "I grew up before Mark Zuckerberg invented friendship" --------
========================================================================
More information about the systemd-devel
mailing list