Podemos crear un script en algun directorio del sistema en el ejemplo lo vamos a crear en el directorio /usr/bin el nombre que vamos a utilizar es script.sh
# cd /usr/bin # vi mail_arranque.sh
Vamos a crear un script que envie un correo con la fecha y hora de arranque del equipo.
#!/bin/bash echo se prendio el equipo $(hostname) a las $(date +%d-%m-%Y---%X) | mail fabian@carreralinux.com.ar
Salimos guardando
Este script cada vez que se enciende la maquina envia un email a la cuenta fabian@carreralinux.com.ar informando la fecha y la hora a la que se prendio.
Ahora otorgamos permisos de ejecucion al script.
# chmod +x /usr/bin/mail_arranque.sh
Vamos a definir luego la unidad de servicio de systemd (systemd serivce unit).
El archivo lo vamos a crear en la siguiente ruta:
/etc/systemd/system/mail_arranque.service
[Unit] Description= Envio hora de arranque After=network.target [Service] ExecStart=/usr/bin/mail_arranque.sh Type=oneshot RemainAfterExit=true [Install] WantedBy=default.target
Donde:
Description: información descriptiva que se muestra luego en el log de journal de systemd cuando ejecutamos el comando
# systemctl status servicio.service
After: indica el servicio luego del cual correrá nuestro script. En este caso para que funcione tenemos que tener levantados los servicios de red network.service
Se pueden agregar otros servicios separándolos por un espacio en blanco.
ExecStart: Permite que definamos la ruta al script.
Type: forking en este caso es utilizado por daemons o residentes para que realicen una clonación de la llamada al sistema. El proceso principal del servicio es creado con un pid especificado en el archivo de pid escrito a continuación.
WantedBy: especifica dentro de qué «target» de systemd debe ser instalado. En este ejemplo lo colocamos en el default.target.
Luego debemos darle permisos al nuevo archivo .service:
chmod 0644 /etc/systemd/system/mail_arranque.service
Por cierto, luego de crear nuestra unidad de servicio, o de modificarla en el futuro, siempre debemos ejecutar el comando:
systemctl daemon-reload
Habilitando y ejecutando
Con estos pasos listos, ahora podremos habilitar el servicio con:
systemctl enable mail_arranque.service
Y ejecutarlo con:
systemctl start mail_arranque.service
Si queremos ver el enlace blando creado podemos encontrarlo en /etc/systemd/system/default.target.wants/