我已经在这里搜索了如何做到这一点,没有一个真正解决了我的问题。部分是因为我不明白发生了什么......不幸的是
我有一个Rscript我想安排每天跑步:JASON.r
脚本中的代码如下:
setwd("/Volumes/3TB/")
install.packages("quantmod");library("quantmod")
getSymbols("AAPL")
write.csv(AAPL,"/Volumes/3TB/AAPL.csv")
quit(save='no')
我找到THIS PAGE如何这样做,但我没有成功。 我所做的是打开终端并键入:
Jason-Guevaras-iMac:~ rimeallthetime$ sudo crontab -e
返回以下内容:
crontab: no crontab for root - using an empty one
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/crontab.fwiSAwWI4R" 0L, 0C
然后我遇到THIS POST,它有类似的问题,当我输入时:
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
答案 0 :(得分:2)
在终端中,使用以下命令打开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
随意更改以满足您的需求。
答案 1 :(得分:2)
值得一提的是,OSX仍然支持cron
launchd
it has been deprecated in favor。
要创建启动作业,您需要创建一个“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文件加载到launchd调度程序中并启动它:
launchctl load ~/Library/LaunchAgents/jason.plist
launchctl start jason
在第二行,名称jason
对应于plist文件中的字段Label
。