[英]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.