[英]How to run RScript using crontab in Mac OSX
我在这里搜索了如何执行此操作,但没有一个能真正解决我的问题。 部分原因是我不明白发生了什么。
我正在尝试安排每天运行的JASON.r
叫: JASON.r
脚本中的代码如下:
setwd("/Volumes/3TB/")
install.packages("quantmod");library("quantmod")
getSymbols("AAPL")
write.csv(AAPL,"/Volumes/3TB/AAPL.csv")
quit(save='no')
我已找到此页面的操作方法,但没有成功。 我要做的是打开终端并输入:
Jason-Guevaras-iMac:~ rimeallthetime$ sudo crontab -e
为此,它返回以下内容:
crontab: no crontab for root - using an empty one
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/crontab.fwiSAwWI4R" 0L, 0C
所以,后来我看到了这个帖子有相似问题,当我键入:
Jason-Guevaras-iMac:~ rimeallthetime$ sudo su -
Jason-Guevaras-iMac:~ root# crontab -u rimeallthetime -e
crontab: no crontab for rimeallthetime - using an empty one
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/crontab.L1nPwJdBRi" 0L, 0C
这是我在哪里目前....
我有MAC OSX El Capitan版本10.11.4
在终端中,使用以下命令打开crontab:
sudo crontab -e
按i进入插入模式。
添加以下行:
0 */23 * * * Rscript /path/to/file/JASON.r
按Esc键退出插入模式。
ZZ型
您应该看到以下消息: crontab: installing new crontab
。
您可以使用crontab -l
验证crontab文件。
其他:
这将每23小时运行一次文件。
每个星号/位置对应于:
MIN HOUR DOM MON DOW CMD
随时更改它以适合您的需求。
值得一提的是,OSX仍支持cron
,但已弃用 cron
,以使用 launchd
。
要创建启动的作业,您需要创建一个“ plist”文件,其中提供了运行脚本并将其放置在文件夹~/Library/LaunchAgents
所有必需信息。 这是一个示例plist文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>jason</string>
<key>ProgramArguments</key>
<array>
<string>Rscript /path/to/JASON.R</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>0</integer>
<key>Hour</key>
<integer>23</integer>
</dict>
</dict>
</plist>
然后,您需要将此plist文件加载到启动的调度程序中并启动它:
launchctl load ~/Library/LaunchAgents/jason.plist
launchctl start jason
在第二行中,名称jason
对应于plist文件中的字段Label
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.