systemd, configurar un script como servicio.
Para romper el hielo, nada mejor que hacer una prueba de concepto y definir nuestro propio servicio.
Procederemos a crear el script que queremos ejecutar como servicio, que aunque con poca utilidad, nos permitirá comprobar el correcto funcionamiento de nuestra configuración.
#!/bin/bash
# La única finalidad de este script es probar el proceso
# de configuración de un servicio en systemd.
# Enviamos mensaje inforamtivo del inicio de nuestro servicio.
echo "mi-servicio.service *** iniciando ***" | systemd-cat -p info
# realizamos un loop infinito que mantendrá nuestro escript en ejecución.
# Grabaremos la hora cada minuto en el log del sistema.
while true; do
ahora=$(date '+%Y-%m-%d %H:%M:%S')
echo "mi-servicio: $ahora" | systemd-cat -p info
sleep 60
done
Aunque no es requisito que se encuentre en alguna ubicación concreta, lo copiaremos a/usr/local/bin que es el sitio recomendado para la instalación de nuestros programas.
sudo cp mi-servicio.sh /usr/local/bin
Naturalmente, tenemos que asegurarnos que sea ejecutable.
sudo chmod +x /usr/local/bin/mi-servicio.sh
Ahora, deberemos crear el fichero de configuración del servicio dentro del directorio/etc/systemd/system/que por convención lo llamaremos mi-servicio.service, pero antes, nos aseguraremos que no se esté utilizando ya este nombre.
sudo systemctl list-unit-files --type=service
Como seguramente la lista será larga, podemos optar por filtrar la salida del comando.
sudo systemctl list-unit-files --type=service | grep mi-servicio
Si no aparece nada, podremos utilizar el nombre elegido. Así que, seleccionamos nuestro editor 가장 좋아하는 편집자:
[Unit]
Description=Mi servicio super-útil
[Service]
ExecStart=/usr/local/bin/mi-servicio.sh
[Install]
WantedBy=multi-user.target
Aunque Existen muchos más parametros disponibles, nos hemos limitado a especificar el minimo essential, que en este caso proporcionan una descripción, indican el programa a ejecutar y que esté disponible cuando el sistema se inus.
Como ya hemos convenido, lo salvaremos con el nombre/etc/systemd/system/mi-servicio.service
No se requiere que el fichero sea ejecutable, pero si es muy 편리한 변경 사항.
sudo chmod 640 /etc/systemd/system/mi-servicio.service
Vamos a ver que tal pinta tiene lo realizado
sudo systemctl status mi-servicio
Si obtenemos algo parecido a lo siguiente, será indicativo de que el fichero de configuración es correcto.
● mi-servicio.service - Mi servicio super-útil
Loaded: loaded (/etc/systemd/system/mi-servicio.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Si es así, ya tenemos nuestro servicio, que podremos administrar como cualquier otro. Procedamos는 iniciarlo를 pues합니다.
sudo systemctl start mi-servicio
Si todo ha ido bien, cuando miremos su status, tendrá un aspecto like a la siguiente:
sudo systemctl status mi-servicio
● mi-servicio.service - Mi servicio super-útil
Loaded: loaded (/etc/systemd/system/mi-servicio.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2020-09-13 01:12:27 CEST; 25s ago
Main PID: 17095 (mi-servicio.sh)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/mi-servicio.service
├─17095 /bin/bash /usr/local/bin/mi-servicio.sh
└─17117 sleep 60
sep 13 01:12:27 P1912 systemd[1]: Started Mi servicio super-útil.
sep 13 01:12:27 P1912 cat[17116]: mi-servicio: 2020-09-13 01:12:27
유레카 !!! 테네모스 누에스트로 세르비시오 푼시오난도.
Reference
이 문제에 관하여(systemd, configurar un script como servicio.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/1n0t/systemd-configurar-un-script-como-servicio-4mhj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)