微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 使用R Markdown将bash脚本作为Cron作业运行

我想尝试如何从R markdown文件渲染html,但是从作为Cron作业运行的bash脚本中渲染.我不知道为什么一切正常,除了作为Cron工作运行.我所做的:

我的脚本是Rstudio的演示脚本

---
title: "test"
author: "sms"
date: "24 maja 2015"
output: html_document
---

This is an R Markdown document. Markdown is a simple formatting Syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

```{r}
summary(cars)
```
etc.

这个脚本在Rstudio中没有任何问题.

接下来我尝试从终端运行Rmd脚本:

Rscript -e "require( 'rmarkdown' ); render('/home/sms/Dokumenty/R/test.Rmd', 'html_document')"

没有任何问题.有用.

所以我创建了bash脚本

#!/bin/bash

Rscript -e“require(‘rmarkdown’); render(‘/ home / sms / Dokumenty / R / test.Rmd’,’html_document’)”

并更改了chmod 755 test.sh

也像魅力一样.

但是当放入Cron文件(管理员用户)时:

28 18 * * * sh /home/sms/Dokumenty/R/test.sh

它不起作用

知道我做错了什么吗?

解决方法:

我有同样的问题.
 问题是因为我以root身份运行Rscript,但Rscript应该作为souza运行,当前用户.
 为了解决这个问题,我为用户搜索“sudo crontab -u souza -e”编辑了crontab,并且Rscript作为souza而不是root运行.
 现在它正在运作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐