在OSX中使用crontab每天运行R脚本
我想设置一个crontab,在周一到周五的下午5点运行emailSender.R脚本。 emailSender.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
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