我正在尝试构建一个R包,其目标是通过获取输入数据并将输出数据写入外部数据库(PostgreSQL)来运行一系列分析。
具体来说,我需要安排一组日常运行的操作。因此,我用R代码编写了一些bash脚本(使用标题#!/usr/bin/env Rscript
),并将它们保存到R包的exec/
文件夹中。这些脚本会在R/
文件夹中调用软件包的核心功能。
此时,一旦在Linux服务器上安装了软件包,如何设置一个能够直接访问exec/
文件夹中脚本的crontab?
这种操作方式是否正确或是否有不同的最佳实践进行此类操作?
答案 0 :(得分:0)
我们这样做工作中的所有喘息时间。在家里我也有一些重复的cronjobs,例如CRANberries。您引用的exec/
文件夹有效,但我首选的解决方案是使用inst/scripts/someScript.R
。
然后,您需要在初始时间从软件包库创建一个软链接,例如/usr/local/lib/R/site-library/myPackage/scripts/someScript.R
到$PATH
中的目录,比如说/usr/local/bin
。
关键方面是即使您更新软件包,软链接仍然存在。所以现在你是金色的。您现在需要的只是引用someScript.R
的crontab条目。我们混合使用Rscript
和littler脚本。