Cómo escribir un servicio systemd simple
- 1517
- 74
- Mario Gollum
Objetivo
Escribe un servicio básico de Systemd.
Distribuciones
Esto funcionará en cualquier distribución que ejecute systemd.
Requisitos
Una instalación de Linux que funciona con Systemd y privilegios de raíz.
Convenciones
- # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de
sudo
dominio - ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado
Introducción
Systemd es casi inevitable. Ha permitido tantos aspectos del ecosistema de Linux que es necesario que cualquier administrador de Linux conozca al menos los conceptos básicos de cómo funciona.
Uno de los principales puntos de venta de Systemd es la facilidad de escribir archivos de servicio. No son guiones. En cambio, son archivos de configuración básicos. Si bien pueden crecer para ser complejos, generalmente son muy simples.
Crea el archivo
Los servicios de Systemd existen en /etc/systemd/sistema
. Si miras en tu sistema, todos están ahí. En realidad, abre SSHD.servicio
. Escanear y ver qué hay. Probablemente no lo sabrá todo, pero ciertamente puede comprender algo y reconocer cuán simple es.
Cualquier .servicio
El archivo que crea en ese directorio se puede ejecutar como un servicio, si lo construye correctamente.
Crea un archivo que le gustaría con el .servicio
extensión.
Unidad
La primera sección que necesitas escribir es la [Unidad]
. Para un servicio básico, todo lo que necesita es una descripción básica de su servicio. Empiece de esta manera.
[Unidad] Descripción = un poco sobre su servicio
Servicio
El [Servicio]
el bloque es la mayor parte del contenido de la configuración. Este es el bloque que contiene las directivas que le dicen al servicio cómo y dónde ejecutar.
Crea el bloque. Lo primero que debe diseñar es el tipo de servicio que es. Este es solo un servicio simple, así que dígale a Systemd que.
Tipo = simple
Este siguiente bit es probablemente el más importante. Debe decirle a Systemd qué ejecutar. Este es en realidad un comando regular o una llamada a un script. Echa un vistazo al ejemplo.
Execstart =/opt/scripts/run-backup.SH-FULL-A-EXTERNAL
Obviamente, no tienes ese script, pero puedes ver cómo usarías el mismo tipo de comando que normalmente ejecutarías.
Systemd también es muy capaz de reiniciar servicios fallidos. Este es otro parámetro que puede establecer dentro de esta configuración. Si desea que se reinicie cuando falle, intente lo siguiente.
Reiniciar = en falso
También podría ser útil especificar un archivo PID para su servicio, si requiere uno.
Pidfile =/tmp/tytuleervice.pid
Si desea o necesita un usuario o directorio específico para trabajar, también puede hacerlo.
User = srvuser workingDirectory =/var/styOrtyervice
También puede establecer un directorio de tiempo de ejecución y los permisos de archivo de ese directorio mientras están en uso.
RuntimeDirectory = tytiseVice runtimeDirectoryMode = 0755
Hay mucho más que puede hacer, pero con estos conceptos básicos, debería poder armar sus propios servicios simples y trabajar con los existentes.
Instalar
Finalmente, ahí está el [Instalar]
bloquear. Todo lo que necesita hacer aquí es especificar cómo se debe habilitar su servicio. La forma más común de hacer esto es con multi usuario.objetivo
.
[Instalar] WantedBy = Multiuser.objetivo
Pensamientos de cierre
Eso es todo aquí aquí es para lo básico. Ciertamente puede hacer y modificar servicios básicos y incluso un poco más avanzados. Con suerte, obtendrá más confianza trabajando con Systemd y se sentirá más cómodo creando sus propios archivos de servicio con más experiencia.
Tutoriales de Linux relacionados:
- Cosas para instalar en Ubuntu 20.04
- Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
- Comandos de Linux: los 20 comandos más importantes que necesitas ..
- Descarga de Linux
- La mejor distribución de Linux para desarrolladores
- Instalación OpenLitesPeed en Linux
- Archivos de configuración de Linux: los 30 principales más importantes
- MX Linux vs Ubuntu
- ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..
- Comandos básicos de Linux
- « Las mejores distribuciones de Linux para principiantes
- 10 mejores distribuciones livianas de Linux para computadoras más antiguas »