Como configurar um crontab para executar a tempo específico

votos
15

Como posso configurar meu crontab para executar script de X em 23:59 todos os dias sem me e-mail ou criar quaisquer registos?

Agora meu crontab é algo como isto

@daily /path/to/script.sh
Publicado 06/08/2008 em 08:16
fonte usuário
Em outras línguas...                            


3 respostas

votos
11

Quando você faz crontab -e, tente o seguinte:

59 23 * * * /usr/sbin/myscript > /dev/null

Isso significa que: Aos 59 minutos e 23 horas em todos os dias (*) em cada mês em cada dia da semana, execute myscript.

Veja man crontab para mais algumas informações e exemplos.

Respondeu 06/08/2008 em 08:21
fonte usuário

votos
6

Dando seguimento a resposta de svrist, dependendo da sua concha, o 2> & 1 deve ir depois de > / dev / null ou você ainda vai ver a saída stderr.

A seguir irá silenciar ambos stdout e stderr:

59 23 * * * /usr/sbin/myscript > /dev/null 2>&1

Os seguintes silêncios stdout, mas stderr ainda aparecerá (via stdout):

59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null

Capítulo Advanced Bash Scripting Guide on IO redirecionamento é uma boa referência - busca por 2> & 1 para ver um par de exemplos.

Respondeu 10/08/2008 em 08:27
fonte usuário

votos
6

Você vai com a resposta acima receber e-mails com qualquer texto escrito para stderr. Algumas pessoas redirecionar isso fora também, e certifique-se de que o script escreve um registro em seu lugar.

... 2>&1 ....
Respondeu 06/08/2008 em 08:43
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more