como fazer executar cron no OSX 10.6.2?


10

Nota: esta questão não é sobre como editar a guia cron, mas como fazer com que o cron funcione


  1. Eu editei meu cron usando env EDITOR=joe crontab -e
  2. Entrei 1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txte não faz nada, embora o cron esteja configurado corretamente . Verificado via Cronnix e visualizado o cron em / var / cron / tabs. Editar o crontab usando o Cronnix me dá os mesmos resultados.

Se eu executar echo 'test' > /Users/radek/Backup/rationalvmware/test.txtmanualmente, ele criará os arquivos conforme o esperado, portanto, presumo que o comando que forneço ao cron seja o correto.

Existe especial qualquer coisa que tenho que fazer para tornar o trabalho cron no OSX? Como posso verificar se o cron está sendo executado.

Qual é o equivalente a / var / log / messages no OSX? Eu posso ver nas mensagens no SuSE que o cron funciona.


1
Como um aparte: observe que croné executado em um ambiente diferente do que o seu próprio comando de teste. Por exemplo: muitas vezes você pode precisar de caminhos absolutos.
Arjan

Respostas:


8

Duvido que você tenha esperado até 1 minuto depois da hora para o seu teste. Para executar a cada minuto:

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

De Mavericks ou mais tarde, uma alternativa enviando para si próprio uma notificação0-59 * * * * osascript -e "display notification \"$(date)\" with title \"Cron test\""
wardw

10

O utilitário cron é iniciado pelo launchd quando vê a existência de /etc/crontabou arquivos /usr/lib/cron/tabs. Não deve haver necessidade de iniciá-lo manualmente . (Veja as páginas de manual .)

Para ver os logs do OS X, você pode usar o Console Utility.


No Monte. Lion esse local é realmente simbolicamente várias vezes, levando em última análise, a: /private/var/at/tabs/, FYI
Andrew Burns,

9

Duas outras maneiras são de usar:

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

ou

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

Ambos correm a cada minuto.


3

Primeiro, você precisa definir sua $EDITORvariável como algo razoável, pois o que você definiu como algo que você não deseja. Defina assim:

EDITOR=joe

Você pode mudar joepara outro editor de texto, como nanoou vim.

Em seguida, você deseja editar o seu crontab, o que é feito da seguinte maneira:

crontab -e

Então você vai colocar o texto para cronusar.


Eu atualizei minha pergunta. Eu posso editar o cron da maneira que o faço, mas o cron não é executado ....
Radek

Não há razão joepara não poder ser usado. A chave é que crontab -eé usada.
Pausado até novo aviso.

Joe é o melhor
nkadwa

3

Se você quiser usar o cron no Mountain Lion, dê uma olhada aqui: https://coderwall.com/p/ry9jwg ou apenas abra o terminal e execute sudo touch /etc/crontab. Depois disso, seus trabalhos em / usr / lib / cron / tabs devem ser tratados pelo cron.

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.