Как запланировать скрипт R в crontab на Mac Snow Leopard? - PullRequest
1 голос
/ 29 ноября 2010

Итак, у меня есть R-файл, который я хотел бы запланировать запускать каждые 10 минут.Я создал запись для файла в crontab через Терминал (используя crontab -e).Вот так:

*/10    *       *       *       *       root    /Users/A/Documents/code/r/r_file.r

Когда я запускаю команды в консоли, она выполняется так, как задумано, и я могу проверять записи в базе данных.Однако с этой настройкой cron я не получаю конечный результат.

Я получил следующее сообщение об ошибке:

/bin/sh: root: command not found

Я уверен, что это полный вопрос новичка, поскольку у меня нет большого опыта работы с crontab.Любые советы высоко ценится.

Спасибо,

Джейсон

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

"Коренная" часть вашей строки crontab - это то, что вас портит.Когда вы используете crontab -e, вы не должны указывать пользователя, потому что все команды выполняются как ваш текущий пользователь (то есть пользователь, в который вы вошли, как при запуске crontab -e).

Кроме того, вы должны всегдаиспользуйте полные пути в вашем crontab.

Строка cron должна выглядеть так:

*/10 * * * * /path/to/Rscript /Users/A/Documents/code/r/r_file.r

1 голос
/ 29 ноября 2010

Является ли Rscript на вашем пути?Что еще более важно, это путь пользователя, запустившего запятую, здесь root?(Также рассмотрите возможность запуска команды как вы).

Если это так, попробуйте

*/10 * * * *      yourlogin    Rscript /Users/..../file.R

Проверьте ваше понимание crontab с более простой задачей, которая просто хранит временные метки, возможно

*/10 * * * *      yourlogin    date > /tmp/testcrontab.txt

Как только вы освоите это, запустите простой R-скрипт и переходите к реальному сценарию.

...