Está en la página 1de 3

Creación de servicios

Para entrar en contexto, vamos a suponer que tenemos un archivo PHP que se tiene que estar
ejecutando desde el servidor en un bucle infinito captando datos cada cierto tiempo. Las opciones que
le vamos a dar al servicio son:

Así pues para crear este servicio tenemos que añadir el siguiente archivo a nuestro servidor.

Y escribimos lo siguiente:
Por último sólo tenemos que darle permiso al archivo recién creado.

Y esto es todo, si queremos activar el demonio tan sólo tenemos que escribir la siguiente línea:

¿Qué es SystemD?
Systemd es un conjunto de herramientas, librerías y servicios diseñados para llevar la llevar la
administración y configuración central de los sistemas Linux e interactuar directamente con el núcleo de
los mismos. En muchos sistemas operativos, especialmente en las últimas versiones de Ubuntu, este es
el encargado de controlar los servicios, o daemon, del sistema operativo y, por ello, cada vez más
aplicaciones recurren a este componente del sistema para controlar sus aplicaciones y procesos en
segundo plano. Por ello, si estamos montando un servidor, debemos tener esta configuración en mente
si queremos que todo funcione como es debido.

systemd es un conjunto de demonios o daemons de administración de sistema, bibliotecas y


herramientas diseñados como una plataforma de administración y configuración central para
interactuar con el núcleo del Sistema operativo GNU/Linux. Descrito por sus autores como un "bloque
de construcción básico" para un sistema operativo, systemd se puede utilizar como un sistema de inicio
de Linux (el proceso init llamado por el núcleo o kernel de Linux para inicializar el espacio de usuario
durante el proceso de arranque de Linux y gestionar posteriormente todos los demás procesos). El
nombre systemd se adhiere a la convención Unix de distinguir los demonios fácilmente por tener la letra
d como la última letra del nombre de archivo.

Se desarrolló systemd para reemplazar el sistema de inicio (init) heredado de los sistemas operativos
estilo UNIX System V y Berkeley Software Distribution (BSD). En el proceso de arranque en Linux, es el
primer proceso que se ejecuta en el espacio de usuario, por lo tanto, también es el proceso padre de
todos los procesos hijos en el espacio de usuario. systemd se diseñó para el núcleo de Linux y
programado exclusivamente para la API de Linux. Escrito por Lennart Poettering1 y se publica como
software libre y de código abierto bajo los términos de la GNU General Public License (LGPL) versión 2.1
o posterior. Uno de los principales objetivos de systemd es unificar configuraciones básicas de Linux y
los comportamientos de servicios en todas las distribuciones.

La idea de diseño está pensada en proveer un framework que exprese las dependencias del servicio con
la API de Linux, permite hacer más trabajo paralelamente al inicio del sistema y reducir la sobrecarga del
shell.
Crea un servicio o daemon propio en Systemd para Ubuntu
Para realizar esta tarea, lo primero que debemos hacer es situarnos, con el comando cd, en la ruta
donde se guardan todos estos servicios: /etc/systemd/system/ ejecutando el comando:

A configuración crearemos un nuevo fichero terminado en extensión «service», que será donde
pegaremos la configuración del proceso a ejecutar. En nuestro caso, por ejemplo, vamos a crear un
fichero llamado «ttrssupdate.service» ejecutando el comando:

Se nos abrirá un editor de texto. Ahora debemos crear nuestro daemon personalizado y hacer, además,
que se ejecute automáticamente al inicio de nuestro servidor Linux.

Una vez que hemos creado el servicio, o daemon, en nuestro sistema, antes de poder empezar a
utilizarlo debemos habilitarlo. Para ello, ejecutaremos el comando «systemctl enable» seguido del
servicio que acabamos de crear. En nuestro caso, por ejemplo, sería:

Nos pedirá dos veces la contraseña de superusuario de nuestro sistema para garantizar que tenemos
permisos para crear y habilitar este servicio en el sistema.

Una vez habilitado el servicio, lo iniciamos manualmente la primera ves (después estará siempre en
ejecución y, cuando reiniciemos el sistema, incluso arrancará automáticamente) con el comando:

Otros comandos que pueden ser útiles para trabajar con servicios Systemd:
 systemctl daemon-reload – Nos permite recargar todos los servicios de nuevo, útil si, por
ejemplo, modificamos uno de ellos.
 sudo systemctl stop ttrssupdate.service – Nos permite detener el servicio.
 sudo systemctl restart ttrssupdate.service – Nos permite reiniciar el servicio.
 journalctl -u ttrssupdate.service – Nos permite ver el registro, o log, generado por el servicio.
 sudo systemctl status ttrssupdate.service – Nos permite ver la información de estado sobre el
servicio en cuestión.

También podría gustarte