Até agora, nunca tentei adicionar uma crontask no meu Mac. Para minha surpresa, isso gerou um erro ..
[hayek@mac:/www/] 02:33:22 PM: crontab -e 1 .
crontab: no crontab for hayek - using an empty one
crontab: "/usr/bin/vi" exited with status 1
Como posso descobrir por que está lançando esse erro?
Estou executando o Mac OS X Lion 10.7.2
crontab file
instalar a tabela a partir de um arquivo externo? Ou usando um editor diferente comoEDITOR=NANO crontab -e
?crontab -l
mostra? Existem outras mensagens em/var/log/cron.log
ou/var/log/system.log
?Respostas:
Em ~ / .vimrc, adicione:
fonte
~/.vimrc
A questão acabou por ser
vi
e nada a ver com o cron. Fazendoexport EDITOR=vim
consertoufonte
export EDITOR=vim
e tente.EDITOR=vim
não foi corrigida - apenas me levou a um novo errocrontab: temp file must be edited in place
. Eu prefiro muito o vim, no entanto, edito cronjobs com tanta frequência que fico feliz em fazê-loNANO
... embora, se alguém conhece a correção, estou muito interessado.Em um problema relacionado, se você receber a mensagem:
Experimentar:
1) Adicionar ao .bash_profile
2) Adicionar ao .vimrc
Fonte: http://drawohara.com/post/6344279/crontab-temp-file-must-be-edit-in-place
fonte
alias crontab "export VIM_CRONTAB=true; /usr/bin/crontab"
Seu editor na variável de sistema EDITOR é vi e vi não está funcionando.
Experimentar:
fonte
Eu tive o mesmo problema e segui os conselhos publicados para criar a tabela:
E isso criou a tabela cron, e então eu pude executar
com o vi como editor padrão e não teve problemas. É como se o vi não pudesse salvar o arquivo, mas, uma vez criado, poderia acessá-lo. Isso é consistente com a capacidade de executar:
Como curiosidade, as tabelas são armazenadas em
que só pode ser lido como sudo.
fonte
A melhor maneira de diagnosticar isso seria criar um crontab novo com uma entrada simples como:
Se isso funcionar, o problema está no comando específico que você adicionou. Você poderia compartilhá-lo conosco e também compartilhar os resultados ao executá-lo diretamente do Terminal.app, em vez de um crontab?
fonte
/bin/date
retornaWed Nov 23 15:03:49 PST 2011
como esperado.O cron foi descontinuado em favor do launchd.
O Lingon é uma excelente ferramenta para configurar agentes launchd; costumava ser gratuito, mas agora parece ser $ 3.
A Wikipedia possui uma boa página de lançamento descrevendo todas as chaves e a ferramenta launchctl que você usa para ativá-las / desativá-las.
fonte
A adição
au BufEnter /private/tmp/crontab.* setl backupcopy=yes
ao vimrc o corrigiu para mim. Veja aqui:http://vim.wikia.com/wiki/Editing_crontab
fonte
Eu vi esse mesmo problema no OSX. A resposta é executar como root usando o comando sudo, por exemplo:
Eu recebi essa ideia de Gökhan Barış Aker acima.
fonte
sudo
você está indo para empregos lugar cron sob o usuário root. Os arquivos cron são diferentes para o usuário normal e o root.