首页 > 解决方案 > 在 RStudio 中运行 cron 作业

问题描述

我正在尝试通过 RStudio 在 EC2 实例上安排 cron 作业。
当我使用具有非常基本功能的基本脚本时,它可以正常工作。但是,当我想安排一个包含特定 R 包中的 R 函数的脚本时,脚本会失败。

我的 cron 看起来像这样:

MAILTO="myemail@adress.com"
36 * * * * /home/user1/Test_for_Cron.R

脚本启动后,我收到一封来自 Cron Daemon 的电子邮件,其中指定了以下内容:

R_function中的错误:找不到函数R_function
执行停止

根据我的发现,似乎我必须指定我想在 RStudio 中运行脚本,或者我想“获取”它。
我觉得答案可能在下面这 3 个帖子的组合中,但在测试了一些建议后我没有找到解决方案:

检查 R 是否在 RStudio
Cron 作业中运行 R 脚本失败
R 命令将工作目录设置为 Rstudio 中的源文件位置

非常感谢帮助!

标签: rcronrstudio

解决方案


您误解了cronshell 命令的工作原理——R 文件不可执行(除非您对其进行更改,请参见下文)。

但是如果你只是在它前面加上Rscript你可以 1. 在你的 shell 中测试它直到它工作 2. 让它cron执行

36 * * * * Rscript /home/user1/Test_for_Cron.R

编辑:如果你做两件事,你可以让它可执行:

  • 添加shebang一行#!/usr/bin/Rscript(或任何路径Rscript
  • 将模式更改为可执行,通过chmod 755 Test_for_Cron.R它为您(所有者)设置读/写/执行,为组和其他人设置读/执行。

推荐阅读