До сих пор я никогда не пытался добавить crontask на моем Mac. К моему удивлению, выкинуло ошибку ..
[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
Как я могу понять, почему он выдает эту ошибку?
Я использую Mac OS X Lion 10.7.2
crontab file
установить таблицу из внешнего файла? Или использовать другой редактор, какEDITOR=NANO crontab -e
?crontab -l
показывает? Есть ли другие сообщения в/var/log/cron.log
или/var/log/system.log
?Ответы:
В ~ / .vimrc добавьте:
источник
~/.vimrc
Вопрос оказался
vi
и никак не связан с cron. Делаяexport EDITOR=vim
это исправленоисточник
export EDITOR=vim
то, что нужно.EDITOR=vim
не исправила это - это только привело меня к новой ошибкеcrontab: temp file must be edited in place
. Я предпочитаю vim, однако я редактирую cronjobs так редко, что я достаточно счастлив, делая этоNANO
... хотя, если кто-то знает исправление, мне очень интересно.По связанной проблеме, если вы получите сообщение:
Пытаться:
1) Добавить в .bash_profile
2) Добавить в .vimrc
Источник: http://drawohara.com/post/6344279/crontab-temp-file-must-be-edited-in-place
источник
alias crontab "export VIM_CRONTAB=true; /usr/bin/crontab"
Ваш редактор системной переменной EDITOR - это vi, а vi не работает.
Пытаться:
источник
У меня была такая же проблема, и я последовал совету по созданию таблицы:
И это создало таблицу cron, а затем я смог запустить
с vi в качестве редактора по умолчанию и проблем не было. Как будто vi не может сохранить файл, но после создания он может получить к нему доступ. Это согласуется с возможностью запуска:
Любопытно, что таблицы хранятся в
который может быть прочитан только как sudo.
источник
Лучший способ диагностировать это - создать новый crontab с простой записью, такой как:
Если это работает, то проблема связана с конкретной командой, которую вы добавили. Не могли бы вы поделиться с нами, а также поделиться результатами, когда вы выполняете его непосредственно из Terminal.app, а не из crontab?
источник
/bin/date
возвращаетсяWed Nov 23 15:03:49 PST 2011
как положено.cron устарел в пользу launchd.
Lingon - отличный маленький инструмент для настройки запускаемых агентов; Раньше он был бесплатным, но теперь кажется, что он составляет 3 доллара.
В Википедии есть хорошая стартовая страница, описывающая все ключи и инструмент launchctl, который вы используете для их активации / деактивации.
источник
Добавление
au BufEnter /private/tmp/crontab.* setl backupcopy=yes
в vimrc исправило это для меня. Глянь сюда:http://vim.wikia.com/wiki/Editing_crontab
источник
Я видел эту же проблему на OSX. Ответ заключается в запуске от имени пользователя root с помощью команды sudo, например:
Я получил эту идею от Гекхана Барыша Акера выше.
источник
sudo
вами вы собираетесь размещать задания cron под пользователем root. Файлы cron отличаются для вашего обычного пользователя и корневого.