Cómo automatizar el arranque del Bot de Telegram que administra servidores
Hace un tiempo les hablé sobre un servidor/bot de Telegram que nos permitía administrar nuestro servidor desde el mensajero. Hoy te muestro, como automatizar el arranque de la aplicación en nuestro servidor.
Para quien no se acuerda, hace unos meses hice un artículo sobre como administrar un servidor Linux desde la aplicación de mensajería Telegram:
Lo que le falto a ese artículo fue la configuración del arranque automático de esa App escrita en Node.
Así que ahora vamos a remediar esto.
En mi caso, el servidor quedo en mi home y ahí mismo esta bien que quede. Así que lo que vamos a hacer es lo siguiente.
Vamos a la siguiente carpeta:
$ cd /lib/systemd/system/
Creamos el siguiente archivo:
$ sudo vim bot.service
Adentro, pegamos lo siguiente:
[Unit]
Description=Este es el servicio para el arranque automático del Bot de Telegram.
Documentation=https://cduser.com
After=network.target
[Service]
Type=simple
User=$user
ExecStart=/usr/bin/node /home/$user/shell-bot/server.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Guardamos y luego ejecutamos lo siguiente.
$ systemctl enable bot.service
$ sudo systemctl daemon-reload
Estos dos comandos, básicamente lo que hacen es activar el servicio para que arranque automáticamente, pero para que esa configuración sea valida, debemos reiniciar el "demonio" de systemd.
Si por alguna razón el servicio estuviese parado, en vez de ejecutar el servidor a mano, lanzamos lo siguiente:
$ systemctl start bot
Si todo salió como se espera, ejecutamos:
$ systemctl status bot
La devolución de eso debería ser algo como esto:
● bot.service - hello_env.js - making your environment variables rad
Loaded: loaded (/lib/systemd/system/bot.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-08-28 17:02:34 -03; 5 days ago
Docs: https://cduser.com
Main PID: 1679524 (node)
Tasks: 11 (limit: 2282)
Memory: 81.8M
CGroup: /system.slice/bot.service
└─1679524 /usr/bin/node /home/$user/shell-bot/server.js
Eso es todo, cualquier duda o consulta, por favor, no duden en dejar comentarios aquí abajo.