使用crontab -e我试过了:
* * * * * Rscript /home/.../file.r
* * * * * /usr/lib/R/bin/Rscript /home/.../file.r
* * * * * /usr/bin/Rscript /home/.../file.r
* * * * * /home/.../foo.sh
其中foo.sh包含:
sudo R CMD BATCH file.r
只需运行$ ./foo.sh即可。 $ R CMD BATCH file.r有效。
我在crontab中没有尝试过任何工作。有什么想法吗?
答案 0 :(得分:2)
您需要在foo.sh中拥有完整路径:
sudo R CMD BATCH /home/.../file.r
我还应该补充一点,第一个版本适用于我,虽然我将其设置为特定时间而不是* * * * *
答案 1 :(得分:0)
这里值得一提的是CRANberries入门,每天工作多次(多次)5年以上:
# every few hours, run cranberries
11 */2 * * * edd ~/cranberries/cranberries.r
这里需要注意的是
~
扩展为$HOME
<{1}} 然后你必须确保脚本实际上是可执行的。无论你使用Rscript,littler还是R BATCH CMD都没关系。
答案 2 :(得分:0)
在我的用户级crontab中我运行一个R脚本来收集各种来源的推文。
我用过:
的 crontab -u myusername -e
强>
将此添加到我的crontab文件的末尾
<强> 0 0 * * * /home/bob/Documents/SWtweets/tweetbash.sh
强>
我是以root用户身份运行它,不知道它有什么不同,但它只适用于我在用户级别运行时。
下面是我在tweetbash.sh shell脚本中添加的内容, 它告诉bash程序运行位于指示路径的R脚本。
<强> #! /bin/bash
R CMD BATCH /home/bob/Documents/SWtweets/tweets.R
强>
chmod +x tweetbash.sh
它适用于我的目的。
鲍勃