GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso impostare cron per eseguire un file solo una volta in un momento specifico?

Vuoi davvero usare at . È fatto esattamente per questo scopo.

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

Tuttavia, se non hai at , o la tua società di hosting non fornisce l'accesso ad esso, potresti creare una voce cron che si autoelimina.

Purtroppo, questo rimuoverà tutte le tue voci cron. Tuttavia, se ne hai solo uno, va bene.

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

Il comando crontab -r rimuove la tua voce crontab. Fortunatamente il resto della riga di comando verrà comunque eseguito.

ATTENZIONE:Questo è pericoloso! Rimuove TUTTE le voci cron. Se ne hai molti, questo li rimuoverà tutti, non solo quello che ha la riga "crontab -r"!


Vuoi davvero usare at . È fatto esattamente per questo scopo.

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

Tuttavia, se non hai at , o la tua società di hosting non fornisce l'accesso ad esso, puoi fare in modo che un cron job includa il codice che assicuri che venga eseguito solo una volta.

Imposta una voce cron con un tempo molto specifico:

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

Successivamente /home/adm/bin/the_command deve assicurarsi che venga eseguito solo una volta.

#! /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]

Prova questo per eseguire un comando il 30 marzo 2011 a mezzanotte:

0 0 30 3 ? 2011  /command

ATTENZIONE :come indicato nei commenti, l'anno la colonna non è supportata nelle implementazioni standard/predefinite di cron. Fai riferimento alla risposta TomOnTime di seguito, per un modo corretto di eseguire uno script in un momento specifico in futuro nelle implementazioni standard di cron.


Linux
  1. Come ricordare le opzioni di comando??

  2. Come utilizzare il tipo di file in Vim?

  3. Come eseguire l'applicazione per un determinato periodo di tempo in Shell?

  4. Come impostare le attività di automazione su un VPS Linux utilizzando Cron?

  5. Come impostare o modificare il fuso orario su Debain 11

Come impostare un Cron Job in Linux

Come eseguire Cron Jobs ogni 5, 10 o 15 minuti

Come eseguire un comando per un tempo specifico in Linux

Come eseguire i comandi del file .sh tutto in una volta in Linux

Come impostare data e ora su Linux

Come impostare ed eseguire un cron in cPanel