Executando um trabalho Cron no Linux a cada seis horas


Respostas:


323

Você esqueceu um *e possui muitos campos. É a hora em que você precisa se preocupar

0 */6 * * * /path/to/mycommand

Isso significa que a cada sexta hora começa em 0, ou seja, nas horas 0, 6, 12 e 18, que você pode escrever como

0 0,6,12,18 * * * /path/to/mycommand

obrigado pela resposta, isso é a cada 6 horas começando a que horas? a hora em que o cron é criado?
perfil completo de Gandalf StormCrow

obrigado, então se eu quisesse executá-lo a partir das 15:00 a cada 6 horas, seria 15 15,23,05,11 * * * /path/to/mycommand?
Gandalf Stormcrow

5
Sim, embora o primeiro campo seja o minuto, que você definiu como 15, então isso significa 15: 15,23: 15,05: 15 e 11:15. (que não é cada 6 horas btw, você poderia ter significado 0 15,21,3,9 * * *)
nºs

6

Você deve incluir um caminho para seu comando, pois o cron é executado com um ambiente extensivamente reduzido. Você não terá todas as variáveis ​​de ambiente que possui em sua sessão de shell interativa.

É uma boa idéia especificar um caminho absoluto para o seu script / binário ou definir PATH no próprio crontab. Para ajudar a depurar qualquer problema, eu também redirecionaria stdout / err para um arquivo de log.


1
obrigado pela resposta, mas se eu declarar variáveis ​​de ambiente dentro do meu arquivo sh como export variable=somethingeu ainda posso usá-las dentro desse mesmo script? e eu usar a data de comando monte dentro do script
Gandalf Stormcrow

@Gandalf - Sim. Você pode definir todas as suas variáveis ​​env dentro do script. Essa é uma boa idéia, pois significa que o script é autônomo e isolado de outras coisas que você pode querer executar dentro cron
Brian Agnew

5
0 */6 * * * command

Esta será a maneira perfeita de dizer 6 horas por dia.

Seu comando dura seis minutos!


2
@ArsenArsen Tenho certeza de que foi porque realmente não adiciona nada à resposta aceita existente, escrita 4 anos antes.
Adinia 03/04

2

Por favor, mantenha a atenção nesta sintaxe :

* */6 * * *

Isso significa 60 vezes (a cada minuto) a cada 6 horas,

não

uma vez a cada 6 horas.


0
0 */6 * * *

O crontab a cada 6 horas é uma programação cron comumente usada.


4
O que essa resposta acrescenta que as outras respostas não? O @rkoots já mencionou esse comando exato.
Adeus StackExchange

"Comumente usado" ? Por quê? Você pode elaborar?
Peter Mortensen


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.