Jusqu'à présent, je n'ai jamais tenté d'ajouter une crontask sur mon Mac. À ma grande surprise, il a jeté une erreur ..
[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
Comment puis-je comprendre pourquoi il lance cette erreur?
J'utilise Mac OS X Lion 10.7.2
crontab file
d'installer la table à partir d'un fichier externe? Ou en utilisant un éditeur différent commeEDITOR=NANO crontab -e
?crontab -l
montre-t-on? Y a-t-il d'autres messages dans/var/log/cron.log
ou/var/log/system.log
?Réponses:
Dans ~ / .vimrc, ajoutez:
la source
~/.vimrc
Le problème s'est avéré être
vi
et rien à voir avec cron. Faire leexport EDITOR=vim
fixerla source
export EDITOR=vim
puis essayez-le .EDITOR=vim
ne l'a pas corrigé - cela m'a juste conduit à une nouvelle erreurcrontab: temp file must be edited in place
. Je préfère de loin vim, mais je modifie les cronjobs si rarement que je suis assez content de le faire dansNANO
... si quelqu'un connaît la solution, je suis très intéressé.Sur un problème connexe, si vous obtenez le message:
Essayer:
1) Ajoutez à .bash_profile
2) Ajouter à .vimrc
Source: http://drawohara.com/post/6344279/crontab-temp-file-must-be-edited-in-place
la source
alias crontab "export VIM_CRONTAB=true; /usr/bin/crontab"
Votre éditeur sur la variable système EDITOR est vi et vi ne fonctionne pas.
Essayer:
la source
J'ai eu le même problème et j'ai suivi les conseils publiés pour créer la table:
Et cela a créé la table cron, puis j'ai pu exécuter
avec vi comme éditeur par défaut et n'a eu aucun problème. C'est comme si vi ne pouvait pas enregistrer le fichier, mais une fois créé, il pouvait y accéder. Cela revient à pouvoir exécuter:
Par curiosité, les tableaux sont stockés dans
qui ne peut être lu que comme sudo.
la source
La meilleure façon de diagnostiquer cela serait de créer une nouvelle crontab avec une entrée simple comme:
Si cela fonctionne, le problème vient de la commande spécifique que vous avez ajoutée. Pourriez-vous le partager avec nous, et également partager les résultats lorsque vous l'exécutez directement à partir de Terminal.app, plutôt qu'à partir d'une crontab?
la source
/bin/date
retourneWed Nov 23 15:03:49 PST 2011
comme prévu.cron est déconseillé au profit de launchd.
Lingon est un excellent petit outil pour configurer des agents launchd; autrefois gratuit, il semble maintenant être de 3 $.
Wikipedia a une bonne page launchd décrivant toutes les clés et l'outil launchctl que vous utilisez pour les activer / désactiver.
la source
L'ajout
au BufEnter /private/tmp/crontab.* setl backupcopy=yes
à vimrc l'a corrigé pour moi. Vois ici:http://vim.wikia.com/wiki/Editing_crontab
la source
J'ai vu ce même problème sur OSX. La réponse est d'exécuter en tant que root en utilisant la commande sudo, par exemple:
J'ai eu cette idée de Gökhan Barış Aker ci-dessus.
la source
sudo
vous allez placer les tâches cron sous l'utilisateur root. Les fichiers cron sont différents pour votre utilisateur normal et celui racine.