Crontab 中的 Rscript 不是 Ubuntu 服务器 18.04 中的 运行

Rscript in Crontab not running in Ubuntu Server 18.04

以下是我非常简单的 Rscript,名为 test.R,我希望每分钟 运行

print("Hello, World!")

并且我想自动执行此脚本,希望我可以为将来的脚本做同样的事情。我使用 crontab -e 调用并添加以下内容:

* * * * * Rscript home/<username>/test.R

未能产生任何结果。

根据 cron job to execute r script not working and 的示例,我在 crontab 代码中做了以下变化

* * * * * Rscript "home/<username>/test.R"
* * * * * usr/bin/Rscript home/<username>/test.R
* * * * * usr/bin/Rscript "home/<username>/test.R"
* * * * * cd home/<username>/ && Rscript test.R
* * * * * cd home/<username>/ && usr/bin/Rscript test.R

所有这些都什么都不做。我还创建了一个名为 myScript.sh 的脚本,其中包含 Rscript /home/<username>/test.R,并尝试分配任务 * * * * * home/<username>/myScript.sh 都无济于事。

我已确保 运行 chmod +x 使我的文件事先可执行,只需键入 Rscript test.R 即可产生我想要的结果。

我还能做些什么来完成这项工作? 运行ning Ubuntu Server 18.04 与 运行ning 桌面版本有什么问题吗?

更新

我有 运行 以上所有变体,在 homeusr 之前有一个 /。我也转而尝试 ~/test.R 但我仍然没有结果。

是否有可能 运行ning 正确但未捕获结果? Cron 不会 return 结果到活动终端。

以下在 Ubuntu 服务器 16.04

上为我工作

首先,确认当来自 Rscript 终端的 运行 时测试脚本 return 是预期的:

root@mytester:~/myrscripts# Rscript test.R

returns

  [1] "Hello, World!"

其次,通过以下方式设置 cron 作业:

crontab -e

进入这一行

* * * * * Rscript ~/myrscripts/test.R >> ~/mycronlog.log

注意我正在将结果传送到日志(附加)

三、几分钟后查看日志:

root@mytester:~# cat mycronlog.log 
[1] "Hello, World!"
[1] "Hello, World!"
[1] "Hello, World!"
[1] "Hello, World!"
[1] "Hello, World!"