Acabo de actualizar un servidor de Ubuntu 14.10 a 15.04, y un par de servicios que inicio a través de scripts de inicio personalizados ya no se están ejecutando.
Entiendo que necesito reescribirlos como systemd
servicios, pero la idea de aprender todo el systemd
sistema durante la noche es un poco desalentador.
El script inicial simplemente se inicia autossh
al inicio, y tengo un par de otros scripts similares que inician procesos de larga duración.
#/etc/init/autossh.conf
description "Maintain a permanent SSH tunnel to <other_server>"
start on started mountall
stop on shutdown
exec autossh -N other_server
¿Cómo puedo reescribir esto como un systemd
servicio?
Respuestas:
la primera regla para migrar a systemd
En este punto, en 2015, es muy probable que alguien ya lo haya hecho.
systemd ha existido por algunos años. Y ha habido toda una industria artesanal de personas escribiendo archivos de unidades y publicándolos. GitHub, en particular, parece atraer repositorios de colecciones de unidades de servicio.
De hecho, simplemente buscando en la WWW
autossh.service
(como una frase) aparece:una unidad de plantilla
Dicho esto, como he señalado en varios lugares solo en StackExchange, este tipo de migración no es un proceso mecanicista, y a veces solo la traducción robótica de lo que sea que tenga a un archivo de unidad está haciendo las cosas mal, o al menos mal. En este caso,
autossh
está jadeando positivamente para ser manejado con una unidad de plantilla , que se instancia en unidades de servicio reales, parametrizadas por el nombre del objetivo. Entonces/etc/systemd/system/[email protected]
, como :Cree un archivo llamado
/etc/autossh/other_server.example.conf
con, como mínimo:Todos los controles habituales se aplican:
systemctl enable autossh@other_server.example
- Permitir que una instancia se inicie automáticamente en bootstrap.systemctl start autossh@other_server.example
- Inicie manualmente esa instancia de inmediato.systemctl status autossh@other_server.example
- Ver su estado.Y sí, la primera regla incluso se aplica a esto. Buscando, uno puede encontrar que Greg Freemyer me golpeó en esto, por menos de quince días, en OpenSUSE.
fuente