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 桌面版本有什么问题吗?
更新
我有 运行 以上所有变体,在 home
和 usr
之前有一个 /
。我也转而尝试 ~/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!"
以下是我非常简单的 Rscript,名为 test.R
,我希望每分钟 运行
print("Hello, World!")
并且我想自动执行此脚本,希望我可以为将来的脚本做同样的事情。我使用 crontab -e
调用并添加以下内容:
* * * * * Rscript home/<username>/test.R
未能产生任何结果。
根据 cron job to execute r script not working and
* * * * * 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 桌面版本有什么问题吗?
更新
我有 运行 以上所有变体,在 home
和 usr
之前有一个 /
。我也转而尝试 ~/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!"