Você não pode fazer isso com cron
. No entanto, você pode fazer isso com at
. Consulte man at
para mais detalhes. Aqui está um exemplo de script para enviar a tarefa myscript.sh
para os próximos sete dias, sendo executada à meia-noite:
for n in {1..7}
do
echo 'myscript.sh' | at midnight + $n days
done
Você pode listar os trabalhos enviados com atq
:
atq | sort -n
3 Tue Sep 20 00:00:00 2016 a roaima
4 Wed Sep 21 00:00:00 2016 a roaima
5 Thu Sep 22 00:00:00 2016 a roaima
6 Fri Sep 23 00:00:00 2016 a roaima
7 Sat Sep 24 00:00:00 2016 a roaima
8 Sun Sep 25 00:00:00 2016 a roaima
9 Mon Sep 26 00:00:00 2016 a roaima
Cada trabalho será executado com precisão uma vez na data e hora especificadas e será excluído da fila.
Se você precisar remover um trabalho antes de iniciar, o comando atrm
fará isso. Por exemplo,
atrm 3