как заставить работать cron на OSX 10.6.2?


10

Примечание: этот вопрос не о том, как редактировать вкладку cron, а о том, как заставить работать cron


  1. Я отредактировал свой cron используя env EDITOR=joe crontab -e
  2. Я вошел 1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txtи ничего не делает, хотя cron настроен правильно . Проверено через Cronnix и просмотрено cron в / var / cron / tabs. Редактирование crontab с использованием Cronnix дает мне те же результаты.

Если я запускаю echo 'test' > /Users/radek/Backup/rationalvmware/test.txtвручную, он создает файлы, как и ожидалось, поэтому я предполагаю, что команда, которую я предоставляю cron, является правильной.

Есть ли что - нибудь особенное , я должен сделать , чтобы сделать хроны работы на OSX? Как я могу проверить это, cron работает.

Что эквивалентно / var / log / messages на OSX? В сообщениях на SuSE я вижу, что cron работает.


1
Обратите внимание: он cronработает в другой среде, чем ваша собственная команда тестирования. Например: вам часто могут понадобиться абсолютные пути.
Арджан

Ответы:


8

Я сомневаюсь, что вы ждали до 1 минуты после часа вашего теста. Чтобы бегать каждую минуту:

0-59 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

От Mavericks или позже, альтернатива, отправившая себе уведомление0-59 * * * * osascript -e "display notification \"$(date)\" with title \"Cron test\""
wardw

10

Утилита cron запускается с помощью launchd, когда видит наличие /etc/crontabфайлов или в /usr/lib/cron/tabs. Там не должно быть необходимости запускать его вручную . (См. Справочные страницы .)

Чтобы просмотреть журналы OS X, вы можете использовать консольную утилиту.


На горе Lion это местоположение на самом деле символически несколько раз, что в конечном итоге приводит к:, /private/var/at/tabs/FYI
Эндрю Бернс

9

Два других способа использования:

*/1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

или

* * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

Они оба бегают каждую минуту.


3

Во-первых, вам нужно установить для своей $EDITORпеременной что-то разумное, поскольку то, что вы сделали, установило для нее то, что вам не нужно. Установите это так:

EDITOR=joe

Вы можете перейти joeв другой текстовый редактор, например nanoили vim.

Затем вы захотите отредактировать свой crontab, что делается так:

crontab -e

Затем вы вставите текст для cronиспользования.


Я обновил свой вопрос. Я могу редактировать cron так, как я это делаю, но cron не запускается ...
Radek

Там нет причин, joeкоторые не могут быть использованы. Ключ в том, что crontab -eиспользуется.
Приостановлено до дальнейшего уведомления.

Джо лучший
nkadwa

3

Если вы хотите использовать cron на Mountain Lion, вам нужно посмотреть здесь: https://coderwall.com/p/ry9jwg или просто открыть терминал и запустить sudo touch /etc/crontab. После этого ваши задания в / usr / lib / cron / tabs должны обрабатываться cron.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.