Начало работы с cronjobs на Mac

Я пытаюсь ознакомиться с заданиями cron, и я думаю, что получаю основную идею (планирование, синтаксис и т. д.), Но, похоже, я не могу получить ее прямо на своем mac с терминалом - где именно я могу найти Crontab? Как я должен ссылаться на пути к скриптам?

то, что я пытаюсь сделать, это ударить PHP-скрипт на удаленной машине (http://...- Это вообще возможно?

6 ответов


чтобы начать работу с launchd (вместо cron), вам нужно сначала создать пустой , например local.mytask.plist и положить его куда-нибудь. ~/Library/LaunchAgents вероятно, хорошее место. Открой в текстовом редакторе и скопируйте в него код ниже

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<false/>
<key>Label</key>
<string>local.mytask</string>
<key>ProgramArguments</key>
<array>
<string>/opt/local/bin/wget</string>
<string>http://someserver/somepage.php</string>
</array>
<key>StartInterval</key>
<integer>300</integer>
<key>RunAtLoad</key>
<true />
<key>StandardErrorPath</key>
<string>/dev/null</string>
<key>StandardOutPath</key>
<string>/dev/null</string>
</dict>
</plist>

затем "активировать" файл из командной строки:

sudo launchctl load /Users/my_username/Library/LaunchAgents/local.mytask.plist

чтобы загрузить его автоматически, создайте ~/.launchd.conf файл с той же строкой (минус sudo launch)

load /Users/my_username/Library/LaunchAgents/local.mytask.plist

выше выше инструкции были скопированы из www.davidlanier.com и перепостил здесь для вашей справки.


тип crontab -e для редактирования таблицы cron и crontab -l перечислить текущее содержимое.. Тип man 1 crontab для получения дополнительной информации об этой команде и man 5 crontab для получения дополнительной информации о cron-формат файла.

например, чтобы загрузить страницу stackoverflow каждый день в 10: 00a, запустите crontab -e введите эту строку, а затем сохраните его и закройте. Выходные данные будут записаны в файл в вашем домашнем каталоге.

0 10 * * * /usr/bin/curl -s http://stackoverflow.com > ~/stackoverflow.html

на случай, если кто-то еще, сражаясь с cron на Snow Leopard наткнется на это, я буду выкапывать эту старую нить.

да, launchd должен заменить cron, но на самом деле он не может делать определенные вещи cron может.

Cron не интегрирован хорошо. Если он отправляет сообщение, оно заканчивается в /var/mail/user_name, о котором, конечно, Apple Mail ничего не знает.

crontab-e выдает сообщение "временный файл должен быть отредактирован на месте". По-видимому, vim не совместим с VI. Затем вы можете сделать crontab "

да, потребовалось некоторое время, чтобы разобраться во всем этом: (


launchd является мощным, но вы действительно не хотите писать plist самостоятельно. Get Lingon. Это с открытым исходным кодом, действительно хорошо разработанный графический интерфейс для создания и управления задачами launchd вашей системы.


Cron был заменен на launchd С 10.4. Вероятно, вы должны написать свои задачи, используя это, если вы не планируете переносить их в системы Linux/Unix в какой-то момент.

если вы все равно решите пойти с cron, попробуйте ввести crontab -e или sudo crontab -e. Они дадут вам различные файлы crontab, первый для пользователя, которого вы в настоящее время используете, а второй для пользователя root.

"нажатие" URL может быть выполнено множеством способов. В зависимости от локальный скрипт, который вы используете, чтобы" ударить " его, вы можете использовать некоторые из встроенных методов/классов языка. Например, скрипт Ruby будет использовать net / http но вы также можете попробовать curl, если вы просто пишете сценарий bash. Do man curl чтобы узнать больше, но основная команда просто curl http://google.com.


вы больше не хотите использовать cron. Как уже заявили другие, он был заменен launchd и launchd явно будет в будущем на Mac OS X.

Mactech Magazine недавно делал серию статей о launchd, и я настоятельно рекомендую прочитать их. Я знаю, что многому научился.

Сентябрь 2009 (Том 25, Выпуск 9) 25.09 MacEnterprise: launchd на обед

Октябрь 2009, (Том 25, Выпуск 10) Снег Leopard, Launchd, и обед Больше рецептов launchd, и посмотреть на изменения в Snow Leopard

в MacTech были и другие статьи, и я бы предложил поискать их сайт.