¿Cómo hacer ejecutar cron en OSX 10.6.2?


10

Nota: esta pregunta no trata sobre cómo editar la pestaña cron sino cómo hacer que cron funcione


  1. Edité mi cron usando env EDITOR=joe crontab -e
  2. Entré 1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txty no hace nada, aunque el cron está configurado correctamente . Comprobado a través de Cronnix y visto el cron en / var / cron / tabs. Editar crontab usando Cronnix me da los mismos resultados.

Si ejecuto echo 'test' > /Users/radek/Backup/rationalvmware/test.txtmanualmente, crea un archivo como se esperaba, así que supongo que el comando que le proporciono a cron es el correcto.

¿Hay algo especial que deba hacer para que cron funcione en OSX? ¿Cómo puedo verificar si el cron se está ejecutando?

¿Cuál es el equivalente de / var / log / messages en OSX? Puedo ver en mensajes en SuSE que cron funciona.


1
Como comentario: tenga cronen cuenta que se ejecuta en un entorno diferente al que tendría su propio comando de prueba. Por ejemplo: a menudo puede necesitar rutas absolutas.
Arjan

Respuestas:


8

Dudo que haya esperado hasta 1 minuto después de la hora para su prueba. Para correr cada minuto:

0-59 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

De Mavericks o posterior, una alternativa enviándose una notificación0-59 * * * * osascript -e "display notification \"$(date)\" with title \"Cron test\""
Wardw

10

La utilidad cron se inicia mediante launchd cuando ve la existencia de /etc/crontabo archivos en /usr/lib/cron/tabs. No debería haber necesidad de iniciarlo manualmente . (Consulte las páginas del manual ).

Para ver los registros de OS X, puede usar la Utilidad de consola.


En el monte Lion esa ubicación en realidad está vinculada varias veces, lo que en última instancia conduce a: /private/var/at/tabs/FYI
Andrew Burns

9

Hay otras dos formas de usar:

*/1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

o

* * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

Ambos corren cada minuto.


3

Primero, debe establecer su $EDITORvariable en algo razonable, ya que lo que configuró en algo que no desea. Configúrelo así:

EDITOR=joe

Puede cambiar joea otro editor de texto, como nanoo vim.

Luego, querrás editar tu crontab, que se hace así:

crontab -e

Luego pondrás el texto para cronusar.


Actualicé mi pregunta. Puedo editar el cron de la forma en que lo hago pero el cron no se ejecuta ...
Radek

No hay razón para joeque no se pueda usar. La clave es que crontab -ese usa.
Pausado hasta nuevo aviso.

Joe es el mejor
nkadwa

3

Si desea usar cron en Mountain Lion, debería echar un vistazo aquí: https://coderwall.com/p/ry9jwg o simplemente abrir la terminal y ejecutar sudo touch /etc/crontab. Después de eso, tus trabajos en / usr / lib / cron / tabs deberían ser manejados por cron.

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.