Расписание задач через оболочку в Mac OS X

Я пишу код на C++ и хотел бы, чтобы каждые 60 минут код "загружался" в мой внешний SVN-репозиторий. Для этого я просто делаю "svn ci -m" некоторые комментарии ", но я хочу сделать это автоматически, поэтому забудьте об этом. Я работаю в Mac OS X, поэтому я подумал об использовании crontab, но получил некоторые ошибки, и я могу не заставить его работать. Знаете ли вы о лучшем решении?

PS Это то, что я сделал. Сначала "crontab -e", затем добавили строку

mac:temp john$ crontab -l
# m h  dom mon dow   command
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /Users/john/Desktop/temp/add.sh  

и я проверил, что скрипт add.sh имеет разрешения на выполнение. Я точно не получаю ошибку, дело в том, что скрипт, который должен запускаться каждые 5 минут, вообще не запускается. То же самое работает в Linux

1 ответ

Я предполагаю, что вы создали работу cron, но вы получаете ошибки при ее запуске. Было бы полезно сообщить нам, что это за ошибки, но самая частая проблема, с которой сталкиваются люди с заданиями cron, - не указание полного пути в командах и файлах или отсутствие какого-либо другого набора переменных среды, необходимого для задачи.

Запуская ваш скрипт при локальном входе в систему, вы получаете другой набор путей среды, которые не обязательно будут присутствовать, когда cron выполнит ваш скрипт. Если ваш сценарий ожидает, что текущий рабочий каталог будет определенным, убедитесь, что вы cd в этот каталог в скрипте, который вы запускаете.

По сути, когда вы создаете скрипт, который хотите запустить, убедитесь, что вы:

  1. Укажите все пути полностью

  2. Изменить каталог, если это необходимо

  3. Установите любые переменные окружения, которые требуются для вашего скрипта / команд

Другие вопросы по тегам