“Conocimiento Sistemas>unix

¿Cómo se ejecuta un trabajo periódicamente en el sistema Unix?

2016/5/10
Hay varias formas de ejecutar un trabajo periódicamente en un sistema UNIX. Aquí hay un desglose de los métodos más comunes y sus diferencias:

1. crontab

* Propósito: El método más utilizado para programar tareas. Le permite definir los horarios de comandos y scripts para ejecutarse en momentos o intervalos específicos.

* Cómo funciona:

* Usted crea un archivo CRONTAB, típicamente en su directorio de inicio (`crontab -e`), que contiene líneas con información de programación y el comando para ejecutar.

* Cada línea tiene seis campos que representan:minuto, hora, día del mes, mes, día de la semana y comando.

* Puede usar comodines (`*`, `?`, `--`,`/`) para representar rangos de valores para estos campos.

* Ejemplo:

`` `Bash

# Ejecute un guión todos los días a las 3:00 a.m.

0 3 * * * /path/to/your/script.sh

# Ejecute un comando cada 5 minutos

*/5 * * * * echo "Running cada 5 minutos"

`` `` ``

* pros:

* Opciones de programación flexibles.

* Simple y bien documentado.

* Se puede usar para una amplia variedad de tareas.

* contras:

* Requiere acceso a la raíz para modificar el crontab de todo el sistema.

* Requiere un Daemon Cron que se ejecuta en segundo plano.

* Puede ser difícil administrar horarios complejos.

2. At Command

* Propósito: Se utiliza para programar tareas para ejecutarse en un tiempo futuro específico.

* Cómo funciona:

* Use el comando `at` con una marca de tiempo o una hora relativa (por ejemplo," mañana a las 5:00 p.m. ").

* Ingrese el comando o script que desea ejecutar.

* El sistema almacena el trabajo y lo ejecuta en el momento especificado.

* Ejemplo:

`` `Bash

# Ejecute un guión mañana a las 10:00 a.m.

a las 10:00 am mañana

`` `` ``

* pros:

* Fácil de usar para tareas únicas.

* No requiere crear una entrada crontab.

* contras:

* Solo para ejecuciones futuras únicas, no trabajos recurrentes.

* Opciones de programación limitadas en comparación con Crontab.

3. Tímidos Systemd

* Propósito: Las distribuciones modernas de Linux, con sede en Systemd, ofrecen un enfoque sofisticado para programar trabajos.

* Cómo funciona:

* Usted crea un archivo de la unidad de servicio (`/etc/systemd/system/your-job.timer`) con información de programación.

* El servicio `SystemD-Timerd` monitorea estas unidades de temporizador y desencadena los servicios correspondientes en los momentos especificados.

* Ejemplo:

`` `Bash

[Unidad]

Descripción =Ejecute un script cada hora

After =Network-Online.Target

[Minutero]

Oncalendar =*-*-*00:00:00

Onactivesec =3600

[Servicio]

Tipo =simple

Usuario =su nombre de usuario

Execstart =/path/to/your/script.sh

`` `` ``

* pros:

* Integrado con Systemd, ofreciendo características extensas.

* Más robusto y eficiente que Crontab.

* Permite opciones de programación flexibles, incluidas zonas horarias y programación relativa.

* contras:

* Requiere familiaridad con los archivos de la unidad Systemd.

* No tan ampliamente utilizado como crontab, sino ganando popularidad.

4. Anacron

* Propósito: Utilizado para trabajos que necesitan ejecutarse periódicamente, incluso si el sistema no se ejecuta en la hora programada.

* Cómo funciona:

* `Anacron` verifica los trabajos programados en`/etc/anacrontab`.

* Si el sistema no se estaba ejecutando en la hora programada, ejecuta el trabajo cuando se reinicia.

* Ejemplo:

`` `Bash

# Ejecute un script cada 3 días

3 12 * * * /path/to/your/script.sh

`` `` ``

* pros:

* Asegura que los trabajos se ejecuten incluso si el sistema no está en el momento programado.

* contras:

* Programación menos flexible que Crontab.

* No siempre es necesario si el sistema se ejecuta constantemente.

Elegir el método correcto:

* crontab: Para tareas recurrentes con tiempos e intervalos específicos.

* en: Para tareas únicas en un futuro específico.

* Tiempos Systemd: Para sistemas modernos con Systemd, ofreciendo opciones de programación avanzadas.

* anacron: Para los trabajos que deben ejecutarse incluso si el sistema no se estaba ejecutando en la hora programada.

Recuerde siempre probar sus trabajos programados a fondo para asegurarse de que funcionen como se esperaba y evitar cualquier conflicto potencial.

unix
Estructura de archivos de un sistema operativo Unix
Cómo construir una computadora compatible Unix
¿Qué son las palabras de órdenes?
Cómo buscar archivos en Unix
¿Cómo puedo saber cuántos shells de inicio de sesión diferentes se utilizan en mi Linux?
Cómo bloquear una carpeta de grupo en Unix
Cómo restablecer una contraseña de Unix
En UNIX, ¿se realiza la comunicación entre procesos?
Conocimiento de la computadora © http://www.ordenador.online