Em ~ / .vimrc add:
autocmd filetype crontab setlocal nobackup nowritebackup
Até agora, nunca tentei adicionar um 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á causando esse erro?
Estou executando o Mac OS X Lion 10.7.2
O problema acabou sendo vi
e nada a ver com o cron. Fazendo export EDITOR=vim
corrigido
Em um problema relacionado, se você receber a mensagem:
crontab: temp file must be edited in place
Tente:
1) Adicionar a .bash_profile
alias crontab="VIM_CRONTAB=true crontab"
2) Adicionar a .vimrc
if $VIM_CRONTAB == "true"
set nobackup
set nowritebackup
endif
Fonte: link
Seu editor na variável de sistema EDITOR é vi e vi não funciona.
Tente:
export EDITOR=nano
Eu tive o mesmo problema e segui os conselhos postados para criar a tabela:
crontab file
E isso criou a tabela cron e depois consegui executar
crontab -e
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, ele poderia acessá-lo. Isso é consistente com a capacidade de execução:
sudo crontab -e
Como curiosidade, as tabelas são armazenadas em
/usr/lib/cron/tabs/UserName
que só pode ser lido como sudo.
A melhor maneira de diagnosticar isso seria criar um novo crontab com uma entrada simples como:
* * * * * /bin/date >> /tmp/cron_output
Se isso funcionar, o problema é com o comando específico que você adicionou. Você poderia compartilhá-lo conosco e também compartilhar os resultados quando você executá-lo diretamente do Terminal.app, em vez de um crontab?
Adicionando au BufEnter /private/tmp/crontab.* setl backupcopy=yes
ao vimrc consertou para mim. Veja aqui:
Eu vi o mesmo problema no OSX. A resposta é executar como root usando o comando sudo, por exemplo:
sudo crontab -e
Eu tenho essa ideia de Gökhan Barış Aker acima.