GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo configuro cron para ejecutar un archivo solo una vez en un momento específico?

Realmente quieres usar at . Está hecho exactamente para este propósito.

echo /usr/bin/the_command options | at now + 1 day

Sin embargo, si no tiene at , o su empresa de alojamiento no proporciona acceso a él, puede hacer una entrada de cron de eliminación automática.

Lamentablemente, esto eliminará todas sus entradas cron. Sin embargo, si solo tienes uno, está bien.

0 0 2 12 * crontab -r ; /home/adm/bin/the_command options

El comando crontab -r elimina su entrada crontab. Afortunadamente, el resto de la línea de comandos aún se ejecutará.

ADVERTENCIA:¡Esto es peligroso! Elimina TODAS las entradas cron. Si tiene muchos, esto los eliminará a todos, ¡no solo al que tiene la línea "crontab -r"!


Realmente quieres usar at . Está hecho exactamente para este propósito.

echo /usr/bin/the_command options | at now + 1 day

Sin embargo, si no tiene at , o su empresa de alojamiento no proporciona acceso a él, puede hacer que un trabajo cron incluya un código que asegure que solo se ejecute una vez.

Configure una entrada cron con un tiempo muy específico:

0 0 2 12 * /home/adm/bin/the_command options

A continuación, /home/adm/bin/the_command debe asegurarse de que solo se ejecute una vez.

#! /bin/bash

COMMAND=/home/adm/bin/the_command
DONEYET="${COMMAND}.alreadyrun"

export PATH=/usr/bin:$PATH

if [[ -f $DONEYET ]]; then
  exit 1
fi
touch "$DONEYET"

# Put the command you want to run exactly once here:
echo 'You will only get this once!' | mail -s 'Greetings!' [email protected]

Pruebe esto para ejecutar un comando el 30 de marzo de 2011 a la medianoche:

0 0 30 3 ? 2011  /command

ADVERTENCIA :Como se indica en los comentarios, el año columna no es compatible con las implementaciones estándar/predeterminadas de cron. Consulte la respuesta de TomOnTime a continuación para conocer la forma adecuada de ejecutar un script en un momento específico en el futuro en implementaciones estándar de cron.


Linux
  1. ¿Cómo recordar las opciones de comando?

  2. ¿Cómo usar el tipo de archivo en Vim?

  3. ¿Cómo ejecutar la aplicación durante un tiempo determinado en Shell?

  4. ¿Cómo configurar un trabajo cron para ejecutar un ejecutable cada hora?

  5. Cómo ejecutar un script de shell al inicio

Cómo configurar un trabajo cron en Linux

Cómo ejecutar trabajos cron cada 5, 10 o 15 minutos

Cómo ejecutar un comando durante un tiempo específico en Linux

Cómo ejecutar comandos de archivo .sh todo a la vez en Linux

Cómo configurar la fecha y la hora en Linux

Cómo configurar y ejecutar un cron en cPanel