首页 > 解决方案 > R 在 Linux 上自动执行脚本

问题描述

我想以自动方式在 Linux 服务器 (CentOS) 上运行 R 脚本。这应该每天进行一次(如果可能,每天进行几次)。我想使用 R 下载股票价格(然后将它们输入数据库)。例如,R 脚本如下所示:

library(tidyquant)
library(lubridate)

data<-tq_get("AAPL", from="2021-01-01", to=today())

我应该如何编写作业,以便我可以在一定的时间间隔内自动运行脚本?谁能帮我?
提前谢谢了!

标签: rcentosscheduled-tasks

解决方案


您可能想创建一个服务。取决于 CentOS 版本什么类型的服务Systemd 或 init 守护进程

这使您可以创建具有所需条件的服务并运行您的应用程序/脚本。

服务示例:

服务位于@/etc/systemd/system/

例如打开 clisudo touch /etc/systemd/system/updatestockdb.service 进入文件并编写您的服务sudo vim /etc/systemd/system/updatestockdb.service

[unit]
Description=Update stock price DB
Type=simple

[Timer]
OnCalendar=daily
AccuracySec=12h
Persistent=true

ExecStart=/opt/scripts/fetch_Stonks.sh --full --to-external
Restart=on-failure
PIDFile=/tmp/yourservice.pid

[Install]
WantedBy=multi-user.target

推荐阅读