crontab 问号_定时任务cron

Cron是Unix-like系统中的定时任务工具,由crontab文件驱动。任务定义包含时间字段(分钟、小时、日期、月份、星期)和要执行的命令。例如,每天凌晨1点清空日志,每周六23:45执行脚本。Cron表达式支持多种特殊字符以定义复杂的调度。权限管理通过/cron.allow和/cron.deny文件进行。此外,还提到了Quartz作为Java平台的定时任务框架。
摘要由CSDN通过智能技术生成

cron是一个Unix-like的定时软无工具。

Overview

Cron 是由一个crontab文件驱动的。通常位于/etc目录或其子目录内。crontab file的每一行都是一个任务,大概像这样:

# ┌───────────── minute (0 - 59)

# │ ┌───────────── hour (0 - 23)

# │ │ ┌───────────── day of month (1 - 31)

# │ │ │ ┌───────────── month (1 - 12)

# │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday;

# │ │ │ │ │ 7 is also Sunday on some systems)

# │ │ │ │ │

# │ │ │ │ │

# * * * * * command to execute

两个例子:

每天00.01清除日志文件:

1 0 * printf "" > /var/log/apache/error_log

每个周六23.45执行一个sh文件

45 23 6 /home/oracle/scripts/export_dump.sh

权限

有两个相关文件:

/etc/cron.allow

/etc/cron.deny

这两个文件里面存的是用户名。比如:

root nick dee sarah

cron 表达式

表格如下

属性

必须

值域

分钟

Y

0-59

小时

Y

0-23

日期

Y

1-31

月份

Y

1-12

星期

Y

0-6

年份

N

1970-2099

注意:在星期属性中,0代表周日,6代表周六

标准特殊字符

逗号,

用于分割同一个属性的不同时间,比如每周一和周三:1,3

短横线-

表示一个时间范围,比如周一到周三:1-3

百分号%

代表换行符,除非用反斜线\转义。并且第一个%后面的所有数据都将作为标准输入发送到命令中。

非标准字符(仅在某些cron实现支持)

L

代表Last。比如一个月的最后一个星期五:5L

W

用于日期属性,表示距离给定日期最近的工作日,比如15W表示:距离这个月15号最近的工作日。

Hash

m#n表示第n个星期m。比如:5#3表示这个月的第三个星期五。

问号?

表示占位符。比如? ? * * * *,如果在8:25启动的话,就会被解析成25 8 * * * *。

斜杠/

可以用于表示时间间隔。比如*/5表示每5分钟。

需要注意的是必须得能够被整除。比如表示分钟间隔就必须得被60整除,想表示小时间隔就必须得被24整除。

相关

Quartz是一个Java定时任务框架。下篇再做分享。

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值