Ejecutar un trabajo cron en Linux cada seis horas


Respuestas:


323

Olvidaste un *, y tienes demasiados campos. Es la hora que debes preocuparte

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

Esto significa cada seis horas a partir de 0, es decir, a las horas 0, 6, 12 y 18, que podría escribir como

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

gracias por la respuesta, esto es cada 6 horas a partir de qué hora? ¿Cuándo se crea el cron?
Gandalf StormCrow

gracias, así que si quisiera ejecutarlo a partir de las 15:00 cada 6 horas, ¿sería 15 15,23,05,11 * * * /path/to/mycommand?
Gandalf StormCrow

55
Sí, aunque el primer campo es el minuto, que ha establecido en 15, por lo que significará 15: 15,23: 15,05: 15 y 11:15. (que no es cada 6 horas por cierto, podría haber querido decir 0 15,21,3,9 * * *)
nos

6

Debe incluir una ruta a su comando, ya que cron se ejecuta con un entorno ampliamente reducido. No tendrá todas las variables de entorno que tiene en su sesión de shell interactivo.

Es una buena idea especificar una ruta absoluta a su script / binario, o definir PATH en el crontab mismo. Para ayudar a depurar cualquier problema, también redirigiría stdout / err a un archivo de registro.


1
gracias por la respuesta, pero si declaro variables de entorno dentro de mi archivo sh como export variable=somethingsi todavía pudiera usarlas dentro de ese mismo script? y uso mucho el comando date dentro del script
Gandalf StormCrow

@Gandalf: sí. Puede definir todas sus variables env dentro del script. Esa es una buena idea, ya que significa que su secuencia de comandos es independiente y está aislada de otras cosas que es posible que desee ejecutar dentro de cron
Brian Agnew

5
0 */6 * * * command

Esta será la manera perfecta de decir 6 horas al día.

Su comando se pone por seis minutos!


2
@ArsenArsen Estoy bastante seguro de que fue porque realmente no agrega nada a la respuesta aceptada existente, escribió 4 años antes.
Adinia

2

Por favor, preste atención a esta sintaxis :

* */6 * * *

Esto significa 60 veces (cada minuto) cada 6 horas,

no

Una vez cada 6 horas.




-2

Tratar:

0 */6 * * * command

. * tiene que


1
La última línea aquí no tiene mucho sentido. ¿Considerarías expandirlo?
halfer

1
parece que la respuesta está incompleta
ajayramesh
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.