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.serviceAdentro, 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.targetGuardamos y luego ejecutamos lo siguiente.
$ systemctl enable bot.service$ sudo systemctl daemon-reloadEstos 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 botSi todo salió como se espera, ejecutamos:
$ systemctl status botLa 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.jsEso es todo, cualquier duda o consulta, por favor, no duden en dejar comentarios aquí abajo.
