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.

Radek
fonte
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
Arjan
fonte
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.

Hieu
fonte
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.

roda ferrosa
fonte
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.

Wuffers
fonte
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.

CKIDOW
fonte