Crontab中的Rscript未在Ubuntu Server 18.04中运行

问题描述 投票:0回答:1

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

print("Hello, World!")

并且,我希望自动执行此脚本,以期将来可以对脚本执行相同的操作。我使用crontab -e调用并添加以下内容:

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

无法产生任何结果。

[根据cron job to execute r script not workingSchedule a Rscript crontab everyminute的示例,我对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即可产生我想要的结果。

我还可以做些什么来使这项工作?运行Ubuntu Server 18.04和运行台式机版本时是否存在一些问题?

更新

我已经运行了上述所有变体,在/home之前加了usr。我也切换到尝试~/test.R,但仍然没有结果。

r cron ubuntu-18.04 ubuntu-server rscript
1个回答
0
投票

是否有可能正常运行并且未捕获结果? Cron不会将结果返回到活动终端。

以下内容在Ubuntu Server 16.04上为我工作

首先,从Rscript终端运行时,确认返回了测试脚本:

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

返回

  [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!"
© www.soinside.com 2019 - 2024. All rights reserved.