GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿ejecutar script cada 30 minutos con Systemd?

Me gustaría ejecutar un script cada 30 minutos después de iniciar el sistema. Sé que puede usar cron, pero no planeo usar esta función con frecuencia, por lo que me gustaría probarla con systemd.

Hasta ahora solo he encontrado los temporizadores monotónicos que permiten ejecutar algo una vez (al menos eso creo). ¿Cómo sería el foo.timer y [email protected] parecería en caso de que quisiera ejecutar algo cada 30 minutos desde el arranque/inicio del sistema?

[correo electrónico protegido]

[Unit]
Description=run foo
Wants=foo.timer

[Service]
User=%I
Type=simple
ExecStart=/bin/bash /home/user/script.sh

foo.temporizador

[Unit]
Description=run foo

[Timer]
where I am stuck... ???

Respuesta aceptada:

Debe crear dos archivos:uno para el servicio y otro para el temporizador con el mismo nombre.

ejemplo:

/etc/systemd/system/test.servicio

[Unit]
Description=test job

[Service]
Type=oneshot
ExecStart=/bin/bash /tmp/1.sh

/etc/systemd/system/test.timer

[Unit]
Description=test

[Timer]
OnUnitActiveSec=10s
OnBootSec=10s

[Install]
WantedBy=timers.target

después de eso, vuelva a cargar systemd usando el comando systemctl daemon-reload e inicie su temporizador con systemctl start test.timer , o habilítelo de forma predeterminada (systemctl enable test.timer ).

contenido de prueba de 1.sh

#!/bin/bash
echo `date` >> /tmp/2

Y comando para verificar todos los temporizadores disponibles:systemctl list-timers --all

Información más detallada en la página del proyecto y ejemplos en la página de ArchLinux


Linux
  1. Linux:¿cómo ejecutar un script con Systemd justo antes del apagado?

  2. ¿Ejecutar script con argumentos como usuario?

  3. Ejecute fácilmente el software de Windows en Linux con Bottles

  4. Compilar un script PHP en Linux

  5. Cómo agregar shebang #! con script php en linux?

Ejecute aplicaciones de Windows en Linux con Crossover 15

Cómo ejecutar el software de Windows en Linux con botellas

Cómo ejecutar Shell Script como servicio Systemd en Linux

Cómo ejecutar Shell Script como servicio SystemD en Linux

Ejecute el contenedor Docker de Almalinux o Rocky Linux 8 con Systemd (systemctl)

Cómo ejecutar un alias con Sudo en Linux