跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
根类
所有页面
统计信息
分类树
特殊页面
FC
搜索
搜索
外观
登录
个人工具
登录
查看“︁Cron”︁的源代码
页面
讨论
简体中文
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
Cron
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
Cron(Cron Job)是一个用于在特定时间间隔或指定时间执行任务的Unix/Linux工具。它允许用户在预定的时间自动执行命令或脚本,可以用来实现定期的系统维护、自动化任务、定时备份等。 == 表达式组成 == 其实就是一组时间序列,一个由6个空格7个域组成的字符串,排序如下: * <code>[秒] [分] [时] [日] [月] [周] [年]</code> {| class="wikitable" !域 !是否必填 !值以及范围 !通配符 |- |秒 |是 |0-59 |, – * / |- |分 |是 |0-59 |, – * / |- |时 |是 |0-23 |, – * / |- |日 |是 |1-31 |, – * ? / L W |- |月 |是 |1-12 或 JAN-DEC |, – * / |- |周 |是 |1-7 或 SUN-SAT |, – * ? / L # |- |年 |否 |1970-2099 |, – * / |} === 通配符的含义: === * <code>,</code>:表示在两个及以上的时间点中都执行。如在月中的值为<code>1,3</code>,则表示1月和3月都触发事件 * <code>*</code>:表示匹配该域任意值,可解读为 “每”,如小时的字段为<code>*</code>时,表示每一小时都触发事件 * <code>?</code>:表示不指定值,用于日期和星期字段之间进行<code>互斥</code>。通常在日期和星期字段中的一个指定值,另外一个用<code>?</code>表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的6号触发一个操作,但不关心是周几,我们可以这么设置 <code>0 0 0 6 * ?</code> * <code>-</code>:表示范围,一个连续触发的区间。如:时的值为<code>6-8</code>,则表示6-8小时中的每个小时都触发事件。 * <code>/</code>:表示间隔时间触发事件(开始时间/时间间隔)。其中第一部分是起始值,除了秒以外都会降低一个单位,比如在 “秒” 上定义 <code>5/10</code> 表示从 第 5 秒开始 每 10 秒执行一次,而在 “分” 上则表示从 第 5 秒开始 每 10 分钟执行一次。 * <code>#</code>:表示该月第n个星期x(x#n),仅用星期域。如:星期:<code>6#3</code>,表示该月的第三个星期五。 * <code>L</code>:表示LAST 最后(最后一天或最后一个星期几);仅出现在日和星期的域中。用在日则表示该月的最后一天,用在星期则表示该月的最后一个星期X。如:星期域上的值为5L,则表示该月最后一个星期的星期四。在使用<code>'L'</code>时,不要指定列表<code>','</code>或范围<code>'-'</code>,否则易导致出现意料之外的结果。 * <code>W</code>:仅用在日的域中,表示距离当月给定日期最近的工作日(周一到周五)。 如:<code>"4W"</code>表示距离4号最近的工作日(当月的)触发事件; (1)当4号就是工作日时,则表示当天触发;当4号为周六时,则表示3号(周五)触发; (2)当4号为周日时,则表示在5号(周一)触发; 再如:<code>"1W"</code>表示距离1号最近的工作日触发事件,但是,该工作日只算当月的。假如当月1号是周六,则”<code>1W</code>“表示在当月3号(周一)触发事件。就算上个月的最后一天是工作日,也不会触发事件。 * <code>LW</code>:<code>‘L’</code>和<code>'W'</code>可以一起组合在日字段使用。表示当月的最后一个工作日触发事件。 === 举个例子 === * <code>*/5 * * * * ?</code> 每隔 5 秒执行一次 * <code>0 */1 * * * ?</code> 每隔 1 分钟执行一次 * <code>0 0 2 1 * ? *</code> 每月 1 日的凌晨 2 点执行一次 * <code>0 15 10 ? * MON-FRI</code> 周一到周五每天上午 10:15 执行作业 * <code>0 15 10 ? 6L 2002-2006</code> 2002 年至 2006 年的每个月的最后一个星期五上午 10:15 执行作业 * <code>0 0 23 * * ?</code> 每天 23 点执行一次 * <code>0 0 1 * * ?</code> 每天凌晨 1 点执行一次 * <code>0 0 1 1 * ?</code> 每月 1 日凌晨 1 点执行一次 * <code>0 0 23 L * ?</code> 每月最后一天 23 点执行一次 * <code>0 0 1 ? * L</code> 每周星期天凌晨 1 点执行一次 * <code>0 26,29,33 * * * ?</code> 在 26 分、29 分、33 分执行一次 * <code>0 0 0,13,18,21 * * ?</code> 每天的 0 点、13 点、18 点、21 点都执行一次 * <code>0 0 10,14,16 * * ?</code> 每天上午 10 点,下午 2 点,4 点执行一次 * <code>0 0/30 9-17 * * ?</code> 朝九晚五工作时间内每半小时执行一次 * <code>0 0 12 ? * WED</code> 每个星期三中午 12 点执行一次 * <code>0 0 12 * * ?</code> 每天中午 12 点触发 * <code>0 15 10 ? * *</code> 每天上午 10:15 触发 * <code>0 15 10 * * ?</code> 每天上午 10:15 触发 * <code>0 15 10 * * ? *</code> 每天上午 10:15 触发 * <code>0 15 10 * * ? 2005</code> 2005 年的每天上午 10:15 触发 * <code>0 * 14 * * ?</code> 每天下午 2 点到 2:59 期间的每 1 分钟触发 * <code>0 0/5 14 * * ?</code> 每天下午 2 点到 2:55 期间的每 5 分钟触发 * <code>0 0/5 14,18 * * ?</code> 每天下午 2 点到 2:55 期间和下午 6 点到 6:55 期间的每 5 分钟触发 * <code>0 0-5 14 * * ?</code> 每天下午 2 点到 2:05 期间的每 1 分钟触发 * <code>0 10,44 14 ? 3 WED</code> 每年三月的星期三的下午 2:10 和 2:44 触发 * <code>0 15 10 ? * MON-FRI</code> 周一至周五的上午 10:15 触发 * <code>0 15 10 15 * ?</code> 每月 15 日上午 10:15 触发 * <code>0 15 10 L * ?</code> 每月最后一日的上午 10:15 触发 * <code>0 15 10 ? * 6L</code> 每月的最后一个星期五上午 10:15 触发 * <code>0 15 10 ? * 6L 2002-2005</code> 2002 年至 2005 年的每月的最后一个星期五上午 10:15 触发 * <code>0 15 10 ? * 6#3</code> 每月的第三个星期五上午 10:15 触发 == 使用方法 == 通过<code>crontab -e</code> 写好配置文件供cron读取然后运行 文件格式为时间加命令的形式如: <code>0 3 * * * systemctl restart frpc.service</code>每天凌晨三点重启frpc.service [[分类:Linux]]
返回
Cron
。
搜索
搜索
查看“︁Cron”︁的源代码
添加话题