systemd iniciar servicio después de un servicio específico [cerrado]
Pregunta general: Cómo se inicia un systemd .servicio después de un particular .el servicio ha comenzado con éxito?
Pregunta específica: ¿Cómo puedo iniciar el sitio web.servicio solo después de mongodb.el servicio ha comenzado? En otras palabras sitio web.el servicio debe depender de mongodb.Servicio.
2 answers
En el .archivo de servicio en la sección [Unidad]:
[Unit]
Description=My Website
After=syslog.target network.target mongodb.service
La parte importante es la mongodb.service
La página de manual lo describe sin embargo debido al formato no es tan claro a primera vista
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-15 17:11:46
After=
la dependencia solo es efectiva cuando el servicio que incluye After=
y el servicio incluido por After=
están programados para iniciarse como parte de su arranque.
Ex:
a.service
[Unit]
After=b.service
De esta manera, si tanto a.service
como b.service
están habilitados, entonces systemd ordenará b.service
después de a.service
.
Si no estoy malinterpretando, lo que estás preguntando es cómo comenzar b.service
cuando a.service
comienza aunque b.service
no esté habilitado.
La directiva para esto es Wants=
o Requires=
bajo [Unit]
.
website.service
[Unit]
Wants=mongodb.service
After=mongodb.service
La diferencia entre Wants=
y Requires=
se explica en la página de manual de .unit
- http://www.freedesktop.org/software/systemd/man/systemd.unit.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-11 06:58:36