r - 在 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 中的源文件位置
非常感谢帮助!
解决方案
您误解了cron
shell 命令的工作原理——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
它为您(所有者)设置读/写/执行,为组和其他人设置读/执行。
推荐阅读
- expo - 使用此命令在 expo 中创建项目时出现此错误-> expo init project-name
- restructuredtext - Readthedoc 和 sphinx 图像路径
- javascript - Ruby on Rails 中的实时表
- python - 在 pandas 的聚合中应用过滤器
- ios - Xcode 10 上的 FacebookCore Swift 编译器错误
- php - How to parse date string to dateTime in php?
- node.js - 无法使用表单 Reactjs 和 MongoDB 编辑和更新属性
- django - 如何使用电子邮件模板在 django 中通过电子邮件发送图表(highcharts)?
- android - AWS 弹性 IP 无法与 android 应用程序一起正常工作
- javascript - 使用cordova-plugin-qrscanner 构建cordova 应用程序的问题