簡體   English   中英

如何在Mac OSX中使用crontab運行RScript

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM