¿Cómo ejecutar un trabajo cron?

2

Tengo un script perl de muestra que necesito ejecutar usando cron diariamente, ¿alguien podría decirme la sintaxis exacta para usar el trabajo cron?

Gracias por adelantado.

Rory
fuente

Respuestas:

8

Para editar / ver su crontab, escriba los siguientes comandos:

crontab -e # to edit
crontab -l # to view

Su trabajo cron tiene el siguiente aspecto:

1 2 3 4 5 /path/to/command

Donde 1 = minutos (0-59), 2 = horas (0-23), 3 = día (0-31), 4 = mes (1-12), 5 = día de la semana (0-7).

Por ejemplo, si quiero ejecutar algo 5 minutos después de la medianoche, todos los días:

5 0 * * * /path/to/command 

También puede especificar varios valores, separados por comas o guiones, como:

5,10 0-2 * * * /path/to/command 

que funciona a las 00:05, 00:10, 01:05, 01:10, 02:05 y 02:10 cada día.


fuente
¿En qué extraño universo tienen los años 13 meses? :-) De todos modos, lo votaré y lo arreglaré (y agregaré el hecho de que puede especificar múltiples valores como 0,15,30,45 por minuto).
¿Por qué querrías que algo funcione a las 00:05, 00:10, 01:05, 01:10, 02:05 y 02:10 cada día? Seguramente podría proporcionar un ejemplo más útil.
Brock Woolf el
3

Bueno, probablemente debería leer man 1 crontab(para el comando habitual para interactuar con sus crontabs) y man 5 crontab(para el formato en el que están escritos) en su servidor. La sintaxis de los trabajos cron es amplia y flexible, y sin un objetivo específico en mente, vamos a terminar resumiendo las páginas del manual.

caos
fuente
3

man crontab

Sinan Ünür
fuente
Breve.
1
Para mí, esta es la mejor respuesta: si recuerda no mirar "cron" sino "crontab", encontrará una buena descripción de qué hacer allí.
Mei
Si olvidó "crontab" y solo recuerda "cron", intente esto: 'man -k cron'
Yaakov Belch el
2

http://cronwtf.github.com/ es algo que encuentro útil cuando inevitablemente olvido la sintaxis.


fuente
Parece ser específico de Linux, aunque Linux es compatible con todos los formatos estándar, por lo que podría no ser un gran problema aquí dada la naturaleza de este sitio.
Mei
1

Si solo desea que se ejecute a diario y realmente no le importa cuándo se ejecuta, simplemente puede colocar un script de shell en /etc/cron.daily (esto también lo ejecutará como root). De lo contrario, use crontab como se sugiere varias veces anteriormente.

rodjek
fuente
depende de qué sistema operativo y qué versión de cron. No todos son compatibles con los directorios /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly. todos los discos de Linux lo hacen, pero todavía hay algunas cajas de Unix que no son de Linux en la naturaleza :)
cas
0

Si desea tener una interfaz gráfica fácil de hacer clic, puede probar webmin http://www.webmin.com/

De lo contrario, "crontab -e" haría

Sharjeel
fuente
44
Instalas webmin. Ahora tienes dos problemas.
Zanchey
1
Webmin es casi una sugerencia decente, excepto que no responde a su pregunta.
Mei
0

Todas las respuestas anteriores deberían ser buenas, solo una adición rápida es que los ticks de retroceso no funcionan bien en las entradas de cronjob. Si tiene que hacer cosas como date +%Y%m%d, es mejor que solo escriba un script y llame a ese script desde su cronjob.

Bajo Kian Seong
fuente