cronR 定时任务
2018-10-25 本文已影响12人
Liam_ml
功能
使用cron调度程序调度R脚本/进程。这允许在Unix / Linux上工作的R用户在R本身的特定时间点自动化R进程
基本用法
- 获取预定作业列表
- 删除预定作业
- 添加一份工作
- 作业基本上是一个带有R代码的脚本,它通过Rscript运行
- 可以安排任务'一夜','每一分钟','每一小时','每一天','每周','每个月'或任何复杂的时间表
任务日志包含在该时间点上运行的Rscript的stdout和stderr。可以在与R脚本相同的文件夹中找到此日志
安装
因为我用的是mac,所以在这里介绍在Linux / Unix上如何使用
- 下载cron
Linux 使用在终端下载
sudo apt-get update
sudo apt-get install -y cron
sudo cron start
Mac 使用
brew install cron
su do cron start
-
从github下载最新版本
devtools::install_github("bnosac/cronR") -
安装UI工具
install.packages('miniUI')
install.packages('shiny')
install.packages('shinyFiles')
使用cron


上传你的脚本,然后你就可以将你的任务设置为定时任务了。
代码的形式
library(cronR) # 加载包
f <- system.file(package = "cronR", "extdata", "helloworld.R") # 文本文件
cmd <- cron_rscript(f) # 将文件设置为定时任务
cmd # 查看定时任务
cron_add(command = cmd, frequency = 'minutely', id = 'test1', description = 'My process 1', tags = c('lab', 'xyz'))
# 定义时间 每分钟
cron_add(command = cmd, frequency = 'daily', at='7AM', id = 'test2') # 每天7点
cron_njobs() # 查看cron
cron_ls()
cron_clear(ask=FALSE)
cron_ls()
cmd <- cron_rscript(f, rscript_args = c("productx", "arg2", "123"))
cmd
cron_add(cmd, frequency = 'minutely', id = 'job1', description = 'Customers')
cron_add(cmd, frequency = 'hourly', id = 'job2', description = 'Weather')
cron_add(cmd, frequency = 'hourly', id = 'job3', days_of_week = c(1, 2))
cron_add(cmd, frequency = 'hourly', id = 'job4', at = '00:20', days_of_week = c(1, 2))
cron_add(cmd, frequency = 'daily', id = 'job5', at = '14:20')
cron_add(cmd, frequency = 'daily', id = 'job6', at = '14:20', days_of_week = c(0, 3, 5))
cron_add(cmd, frequency = 'daily', id = 'job7', at = '23:59', days_of_month = c(1, 30))
cron_add(cmd, frequency = 'monthly', id = 'job8', at = '10:30', days_of_month = 'first', days_of_week = '*')
cron_add(cmd, frequency = '@reboot', id = 'job9', description = 'Good morning')
cron_add(cmd, frequency = '*/15 * * * *', id = 'job10', description = 'Every 15 min')
cron_ls() # 查看所有的定时任务
cron_clear(ask=FALSE) # 删除所有的定时任务