Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OSX中使用crontab每天运行R脚本_R_Macos_Cron_Crontab - Fatal编程技术网

在OSX中使用crontab每天运行R脚本

在OSX中使用crontab每天运行R脚本,r,macos,cron,crontab,R,Macos,Cron,Crontab,我想设置一个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 = "m

我想设置一个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

也许在cron设置任务之前,我必须在路径中设置Rscript。尽管进行了广泛的搜索,但仍不确定如何做到这一点

尝试安装cronR包

完成此操作后,您应该能够导航到工具>加载项,在那里可以执行包。它将启动一个计划程序,允许您计划脚本运行的时间


如果您有权限问题,请转到系统首选项>安全性>隐私。单击“完全磁盘访问”并授予RStudio/R访问权限。这将允许您计划将来运行的作业。

尝试安装cronR包

完成此操作后,您应该能够导航到工具>加载项,在那里可以执行包。它将启动一个计划程序,允许您计划脚本运行的时间


如果您有权限问题,请转到系统首选项>安全性>隐私。单击“完全磁盘访问”并授予RStudio/R访问权限。这将允许您计划将来运行的作业。

您需要包括Rscript的路径:

0 17 * * * /usr/local/bin/Rscript /Users/username/emailSender.R

您需要包括Rscript的路径:

0 17 * * * /usr/local/bin/Rscript /Users/username/emailSender.R

就我个人而言,我使用crongui(在Linux上称为调度任务)来设置我的cron作业,并让它运行
bash r\u script\u runner.sh
。那个文件只有
#/第一行的bin/bash
path/to/r\u script.r
。这很好。谢谢,我尝试在OSX上使用cronnix GUI,但也无法使其正常工作。按Escape退出插入模式,然后键入
:wq
写入并退出。在终端中键入
哪个Rscript
,找到它的安装位置,然后在
crontab
中使用完整路径,而不是普通的
Rscript
。如果您希望使用图形编辑器编辑crontab,请在运行
crontab-e
之前执行此操作
export EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit
就我个人而言,我使用cron GUI(在Linux上称为调度任务)来设置我的cron作业,并让它运行
bash r\u script\u runner.sh
。那个文件只有
#/第一行的bin/bash
path/to/r\u script.r
。这很好。谢谢,我尝试在OSX上使用cronnix GUI,但也无法使其正常工作。按Escape退出插入模式,然后键入
:wq
写入并退出。在终端中键入
哪个Rscript
,找到它的安装位置,然后在
crontab
中使用完整路径,而不是普通的
Rscript
。如果您希望使用图形编辑器编辑crontab,请在运行
crontab-e
之前执行此操作<代码>导出编辑器=/Applications/TextEdit.app/Contents/MacOS/TextEdit