Como poner un Script Python en ejecucion automatica

Bueno este es una miniguia para poner nuestros scripts siempre activos aun cuando reinicies el server este tendria que volver a activarse.

En mi caso particular lo uso para mantener online mi bot discord basado en python3:

Primero creamos un archivo desde nuestra terminal linux:

sudo nano /etc/systemd/system/my_discord_bot.service

Ahora agregaremos el siguiente texto:

[Unit]
Description=My Discord Bot
After=network.target

[Service]
Type=simple
User=Mi_usuario_linux
WorkingDirectory=/home/zidrave/XXX/botdiscord 
ExecStart=ExecStart=/usr/bin/python3 mybot.py
Restart=always

[Install]
WantedBy=multi-user.target

Ahora explicaremos las opciones que debes modificar:

User=(aqui va tu usuario de linux)
WorkingDirectory=(aqui va la ruta completa de la carpeta donde tienes tu script sin / al final)
ExecStart=(aqui el interprete python en mi caso es python3 y el archivo o script .py)

Luego de eso carga el archivo de unidad:

sudo systemctl daemon-reload
sudo systemctl enable my_discord_bot

Ahora iniciamos servicio manualmente con:

sudo systemctl start my_discord_bot

Con eso ya tendria que funcionar todo y al apagar y prender el server este se iniciaria automaticamente.

si no ejecuta puedes ver si tienes errores en el log del servicio con:

sudo journalctl -u my_discord_bot.service

si deseas detener el servicio para cambios en el script puedes hacerlo asi:

sudo systemctl stop my_discord_bot

Si deseas ver su estado es con esto:

sudo systemctl status my_discord_bot

y si deseas reiniciar script/servicio es con esto:

sudo systemctl restart my_discord_bot

Lo ideal en caso de ediciones posteriores es detenerlo e iniciarlo manualmente con el comando «python3 script.py» ver si hace todo lo que querias que haga y una vez seguro que ya funciona todo lo terminas con Control+C y luego lo inicias como servicio.

Deja una respuesta

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