Cómo usar Systemd Timers como alternativa a Cron

Como usuario de Linux, probablemente conozca cron. Ha estado sirviendo como un programador de tareas basado en el tiempo durante muchos años. Ahora, muchos usuarios están viendo que los temporizadores de Systemd comienzan a reemplazar el dominio de cron.

Cómo usar Systemd Timers como alternativa a Cron - Linux

 Este artículo discutirá los conceptos básicos de cómo configurar su propio temporizador y asegurarse de que funcione correctamente en su sistema.

¿instalación?

Si ya está utilizando Systemd como inicio (muchas distribuciones populares de Linux lo ejecutan de manera predeterminada, incluidas Arch, Debian, Fedora, Red Hat y Ubuntu), verá que los temporizadores ya están en uso. No queda nada más que hacer que usar esta función ya instalada.

Lista de menú de temporizadores

La forma más fácil de verificar si el temporizador existe en su computadora es usando el comando:

systemctl list-timers

No tienes que ejecutar estas tarjetas.

systemctl list-timers --all

La opción –all aquí también muestra los temporizadores inactivos. Actualmente no hay temporizadores inactivos en este sistema.

Debería encontrar una salida similar a la siguiente imagen:

Cómo usar Systemd Timers como alternativa a Cron - Linux

Puede ver la fecha y la hora en que se activará cada temporizador, la cuenta regresiva hasta ese punto, la cantidad de tiempo transcurrido desde que se encendió, el nombre de la unidad del temporizador y el servicio que activa cada unidad del temporizador.

Todos los temporizadores deben estar emparejados con el servicio correspondiente. En la siguiente sección, verá cómo crear un archivo “.timer” que activa un archivo “.service”.

Crear un nuevo temporizador

Puede crear un nuevo temporizador colocando un archivo .minutero personalizado en “/etc/systemd/sistema/.” Al crear un nuevo archivo de servicio DNS temporal para patoDNS Terminé con este texto:

[Unit]

Description=Update duckdns dynamic DNS

[Timer]

OnCalendar=*-*-* 11:43:00

Persistent=true

[Install]

WantedBy=timers.target

1. Sección [Unidad]

La opción "Descripción = ..." en el archivo le indica el nombre/descripción del temporizador en sí. En este caso, 'duckdns.timer' actualizará mi dns diciéndole al archivo 'duckdns.service' que ejecute una serie de comandos.

Puede cambiar la redacción después de "Descripción =" para decir lo que quiera.

2. Sección [Temporizador]

Muestra “OnCalendar =…” Esta es una forma de decirle al temporizador cuándo activarlo. * – * – * denota “año-mes-día, y los asteriscos significan que se ejecutará todos los días de todos los meses de todos los años a partir de ahora. La hora que sigue a los asteriscos muestra a qué hora del día debe funcionar el temporizador.

"Persistente = verdadero" solo significa que el temporizador se ejecutará automáticamente si no alcanza la hora de inicio anterior. Esto puede suceder porque la computadora se apaga antes de que ocurra el evento. Esto es opcional pero recomendado.

3. Sección [Instalar]

Finalmente, aparece "Buscado por = temporizadores.objetivo" أن systemd temporizadores.objetivo Este archivo se utilizará .Temporizador. Esta línea en el archivo muestra la cadena de dependencia de un archivo a otro. No debe eliminar ni cambiar esta línea.

otras opciones

Puede encontrar muchas otras funciones escaneando una página manda hombre مع man systemd.temporizador. Vaya a la sección OPCIONES para descubrir opciones de precisión, persistencia y posejecución.

temporizador de reproducción

Activa cualquier temporizador que hayas creado con sintaxis habilitar systemctl و inicio systemctl.

sudo systemctl enable duckdns.timer

sudo systemctl start duckdns.timer

Mire nuevamente la lista systemctl list-timers para ver su temporizador en acción.

Cómo usar Systemd Timers como alternativa a Cron - Linux

Puede saber si su temporizador funcionó como se esperaba al verificar su archivo de servicio con estado systemctl. En este caso, puede ver que en mi caso funciona a las 11:43:00 como se suponía.

Cómo usar Systemd Timers como alternativa a Cron - Linux

Conclusión

Aunque muchos programas de terceros, incluidos patoDNS , viene con scripts que les permiten actualizar según sea necesario, creando temporizadores en Systemd Es una habilidad útil saber. estaba creando un temporizador para patoDNS Aquí es innecesario, pero muestra cómo funcionarán otros tipos de temporizadores Systemd.

Este conocimiento será útil, por ejemplo, para crear y ejecutar scripts. Comandos de Bash tu propio. Incluso puede usarlo para cambiar el temporizador actual para que se adapte mejor a sus preferencias. Además, siempre es bueno saber cómo funciona tu computadora, y dado que Systemd Al controlar muchas funciones básicas, esta pieza del rompecabezas puede ayudarlo a comprender mejor cómo se desarrollan los eventos cada día.

Gracias por seguir el artículo. Buena suerte con la creación de sus propios temporizadores.

fuente
Ir al botón superior