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运行.
 现在它正在运作

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...