Skip to content

Instantly share code, notes, and snippets.

@vacax
Last active November 4, 2025 19:56
Show Gist options
  • Select an option

  • Save vacax/a2af624a67eed9e2906611b8398d1927 to your computer and use it in GitHub Desktop.

Select an option

Save vacax/a2af624a67eed9e2906611b8398d1927 to your computer and use it in GitHub Desktop.
Proceso simple de uso de Systemd en Linux

Script ejecutado por tiempo

Nuestro ejemplo permité ejecutar un script cada cierto tiempo utilizando un servicio de una única ejecución en combinación con la unidad de timer.

Estaremos creando los siguientes archivos:

  • mi-script.sh
  • ejecucion-por-tiempo.service
  • ejecucion-por-tiempo.timer

Copiar los archivos .service y timer en la ruta /etc/systemd/system/.

Ejecutar los siguientes comandos, para recargar los archivos de systemd y habilitar el timer:

sudo systemctl daemon-reload
sudo systemctl enable --now ejecucion-por-tiempo.timer

Podemos ver los estatus:

sudo systemctl status ejecucion-por-tiempo.timer

Para ver la información de los logs.

sudo journalctl -f -u ejecucion-por-tiempo.service
[Unit]
#Información del servicio lo estaremos viendo en el status.
Description=Servicio de prueba ejecutado cada segundo
[Service]
#Indica que se ejecuta una vez, no es un servicio.
Type=oneshot
#Indica el script que estaremos ejecutando.
ExecStart=<<Cambiar ruta>>/mi-script.sh
[Unit]
Description=Temporizador para ejecutar demo.service cada segundo
[Timer]
# Primera ejecución tras 1 segundo de activación.
OnActiveSec=1s
# Repite cada 5 segundo después de terminar la ejecución anterior.
OnUnitActiveSec=5s
# Precisión (puedes bajarla o subirla).
AccuracySec=100ms
# no ejecuta retroactivamente lo que “perdió” mientras estaba apagado.
Persistent=false
[Install]
WantedBy=timers.target
#!/bin/bash
# demo.sh — script de ejemplo
echo "$(date --iso-8601=seconds): ejecución de mi script.sh"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment