2010-11-29 59 views
1

所以我有一個R文件,我想安排每10分鐘運行一次。我已經通過終端在crontab中爲文件創建了一個條目(使用crontab -e)。如下所示:如何在Mac Snow Leopard的crontab中安排R腳本?

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

當我在控制檯中運行命令時,它按照設計執行,我可以驗證數據庫中的記錄。但是,用這個cron設置我沒有得到最終結果。

我的確得到了以下錯誤消息:

/bin/sh: root: command not found 

我相信這是一個總的菜鳥問題,因爲我沒有用crontab的很多經驗。任何意見是極大的讚賞。

感謝,

傑森

回答

1

Rscript是在你的路徑?更重要的是,它在運行逗號的用戶的路徑中,這裏是root? (也可以考慮像你一樣運行命令)。

如果是這樣,嘗試

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

與只存儲時間戳簡單的工作測試您的crontab理解,也許

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

一旦你掌握了,運行一個簡易R腳本,然後繼續你的真實劇本。

+0

感謝您的幫助德克。 – analyticsPierce 2010-11-30 07:13:52

2

你的crontab行的「根」部分是你搞砸了。當您使用crontab -e時,不應該指定用戶,因爲所有命令都以當前用戶的身份運行(即,您運行crontab -e時登錄的用戶)。

此外,你應該總是在你的crontab中使用完整路徑。

這個cron線應該是這樣的:

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

+0

不,當你直接編輯`/ etc/crontab`而不是`crontab -e`時,`root`(即用戶)部分是必需的。這只是兩種選擇。就我個人而言,我也在`/ etc/crontab`中擁有我的用戶作業。 – 2010-11-29 19:22:13

相關問題