-
Notifications
You must be signed in to change notification settings - Fork 0
Crear Servicio en Linux
En primer lugar se debe crear el entorno virtual, para eso usar:
python3 -m venv .venvLuego, con pip, instalar las dependencias correspondientes al script.
source .venv/bin/activate
pip install <modulo1> <modulo2> ...
deactivateUna vez terminado, se debe usar el path absoluto al ejecutable de python del entorno virtual. Si la ruta donde se creó la carpeta .venv es /home/user1/Scripts, entonces se usará /home/user1/Scripts/.venv/bin/python3
Para crear el servicio, se debe crear el un archivo por ejemplo: mi-script.service en la ruta: /etc/systemd/system/. Allí colocar lo siguiente:
[Unit]
Description=Mi Primer Script
After=network.target
[Service]
User=user1
Group=user1
WorkingDirectory=/home/user1/Scripts
ExecStart=/home/user1/Scripts/.venv/bin/python3 /home/user1/Scripts/main.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Notar que la directiva ExecStart requiere del comando python3 obtenido del entorno virtual, y del archivo main.py que es el script de python3.
Finalmente, guardar este archivo y reiniciar el daemon con:
sudo systemctl daemon-reloadSi todo es correcto, se podrá hacer uso de los comandos:
sudo systemctl enable mi-script.service
sudo systemctl disable mi-script.service
sudo systemctl start mi-script.service
sudo systemctl stop mi-script.service
sudo systemctl restart mi-script.service
sudo systemctl status mi-script.servicePara permitir que el user1 ejecute los comandos listados anteriormente se debe editar el archivo /etc/sudoers. La forma correcta de hacerlo es usando:
sudo visudoAlli, se debe configurar al usuario de la siguiente forma:
user1 ALL=(root) NOPASSWD: /usr/bin/systemctl * mi-script.service
© 2025 Christian Yoel Herrera. Todos los derechos reservados.
Repositorio -
Contacto -
Sitio Web