Hoy tenia ganas de empezar a comentar sobre el manejo de discos pero me di cuenta que el saber ¿Que es Systemd y como hago para que mi script en bash inicie al arranque como un demonio? es algo que no dije antes y que en este momento donde estamos tocando bash es más que necesario.

Systemd – Imagen extraída de la wikipedia

Systemd es la herramienta init y administradora del sistema, que usan como estándar las distribuciones linux.

  • Systemd ofrece una paralelización muy potente.
  • Hace uso de la activación de socket y D-Bus para iniciar los servicios.
  • Soporta el inicio de los demonios bajo demanda.
  • Controla los procesos que utilizan el cgroups de Linux.
  • Permite crear instantáneas y posterior restauración del estado del sistema.
  • Maneja los puntos de montaje y desmontaje automáticamente.
    Implanta una lógica de control del servicio basada en dependencias transaccionales.

A continuación vamos a listar algunos de los comandos de systemd

ComandoDescripción
systemctl start ejemploIniciar un servicio
systemctl stop ejemploDetener un servicio
systemctl restart ejemploReiniciar un servicio
systemctl reload ejemploRecargar un servicio
systemctl condrestart ejemploReiniciar si el servicio
se está ejecutando
systemctl status ejemploVerificar si el servicio
se está ejecutando
systemctl enable ejemploHabilitar servicio
al iniciar el sistema
systemctl disable ejemploDeshabilitar servicio
al iniciar el sistema
systemctl is-enabled ejemploVerificar si el servicio
iniciará con el sistema
systemctl list-unit-files –type=serviceLista de servicios habilitados y deshabilitados al iniciar el sistema (con niveles de ejecución)
systemctl daemon-reloadRecargar la herramienta después de modificaciones
Comandos de Systemd

Hasta acá vimos un poco de los “comandos de #Systemd” pero la parte más jugosa es hacer que un script creado por nosotros arranque como un demonio.

1 – tener el script en /usr/bin

2 – Que tenga permisos de ejecución. Sino sabes como se hace proba con:

 chmod +x /usr/bin/archivo.sh

3 – Crear el archivo que va usar el demonio o el servicio en la siguiente ruta:

/etc/systemd/system/archivo.service

Adentro del archivo.service vamos a tener:

[Unit]
Description= El script hace lo que vos digas
After=network.target

[Service]
ExecStart=/usr/bin/archivo.sh
Type=oneshot
RemainAfterExit=true

[Install]
WantedBy=default.target

4 – Le damos permisos al archivo.service

chmod 0644 /etc/systemd/system/archivo.service

5 – Vamos a recargar systemd

systemctl daemon-reload

6 – Habilitamos el servicio:

systemctl enable archivo.service

7 – Lo ejecutamos para ya dejarlo arrancado o andando:

systemctl start archivo.service

Si alguno de estos comandos no pudiste ejecutarlo seguramente tendras que realizarlo con sudo antes.

Si estas haciendo lectura de este blog y tenes ganas de compartir, invitame un cafecito:

Invitame un café en cafecito.app
Print Friendly, PDF & Email
Share:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *