【发布时间】:2017-01-18 01:35:02
【问题描述】:
我想设置一个 crontab,在周一至周五每天下午 5 点运行 emailSender.R 脚本。
emailSender.R的脚本如下:
library(rmarkdown)
rmarkdown::render("htmlmarkdown.Rmd")
library(gmailR)
gmailR::gmail(
to =c("recipient@email.com"),
subject = "Subject",
message = "Message",
username = "me@email.com",
password = "password",
attachment = "htmlmarkdown.html"
)
然后我打开终端,首先输入 crontab -e 来设置 crontab。
然后弹出一个窗口,我尝试使用以下代码设置我的 cronjob。
0 17 * * * Rscript /Users/username/emailSender.R
很遗憾,emailSender.R 没有按计划运行。
非常感谢任何有关获取 crontab 来安排我的 R 脚本的帮助
编辑:回到我的终端并输入 Rscript 后,系统会提示我:
-bash: Rscript: command not found
也许我必须在我的 PATH 中设置 Rscript,然后 cron 才能设置任务。尽管进行了广泛的搜索,但不确定如何做到这一点。
【问题讨论】:
-
就我个人而言,我使用 cron GUI(在 Linux 上,它被称为计划任务)来设置我的 cron 作业,并让它运行
bash r_script_runner.sh。该文件的第一行只有#! /bin/bash和path/to/r_script.R。这工作正常。 -
感谢我尝试在 OSX 上使用 cronnix GUI,但也无法正常工作。
-
按 Escape 退出插入模式,然后输入
:wq写入并退出。 -
在终端中键入
which Rscript以查找它的安装位置,然后在您的crontab中使用该完整路径,而不是普通的Rscript。 -
如果您希望使用图形编辑器来编辑您的 crontab,请在运行
crontab -e...export EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit之前执行此操作