cron运行R脚本时遇到问题

时间:2012-09-18 15:58:31

标签: linux r cron

我有一个R脚本,从R内部或命令行运行得很好。它的操作非常简单。它只需要一些定期更新的数据,进行一些分析,制作一些图表,并将它们保存到磁盘。我想自动运行它与数据更新同步,所以我试图在cron作业下运行它。在将图像写入磁盘之前,它一切都很好。然后它告诉我它无法打开第一张图像,然后失败。我已经尝试了所有我能想到的东西:检查运行目录中的权限,确保cron像我一样运行,将我的cron命令从“R CMD BATCH”切换到“Rscript”。没有任何效果。同样,脚本从R内部或从命令行运行得很好。任何人对我还能做什么都有任何想法? (顺便说一下,我确实在这个网站上找到了类似的问题,但是在那里给出的答案对我的具体情况没有帮助。)

违规代码似乎是:

png(file=nd_pic_image_names[1],height=720,width=720)

返回的错误是:

Error in X11(paste("png::", filename, sep = ""), g$width, g$height, pointsize,  : 
unable to start device PNG
Calls: png
In addition: Warning message:
In png(file = nd_pic_image_names[n], height = 720, width = 720) :
 unable to open connection to X11 display ''
Execution halted

我不明白“X11”的东西。我没有在代码中的任何地方引用X11(),我不打算在打开(或尝试打开)我的PNG文件之前进行绘图。感谢。

1 个答案:

答案 0 :(得分:2)

从简单开始:

  1. 添加一个只通过Rscript文件执行单个命令(可能是format(Sys.time()))的cronjob - 主要是为了演示(对你自己)你可以运行R脚本

  2. 将现有代码转换为可在命令行运行的R脚本。确保您对环境变量等没有依赖关系pp

  3. 将您的脚本添加为cronjob。如果失败,请通过添加到1中创建的脚本来逐步完成。

相关问题