博客
关于我
Linux的 /etc/crontab
阅读量:730 次
发布时间:2019-03-21

本文共 1460 字,大约阅读时间需要 4 分钟。

Linux 命令 Crontab 入门与实践指南

Linux 系统中的计划任务安排其实是由 crond 这个守护进程负责的。安装完操作系统后,这个服务会自动启用,并且每分钟会循环检查是否有任务需要执行。如果有,就自动运行相应的指令。对于那些习惯了 Windows 的计划任务安排的人来说,crontab 命令可能会显得有点陌生,但它是 Linux系统下的核心工具之一。

Crontab 的基本语法理解

在 Linux 中,crontab 命令允许用户定义计划任务,使用的语法规则包含以下几个关键要素:

1. 时间单位解析

crontab命令中的时间单位包括:

  • 分钟(*): 可能性最大的选项,表示“每分钟”或“所有可能的分钟”。
  • 小时(*): 需要结合其他字段使用。
  • 天(*): 可选值通常会是“全天”。
  • 星期(*): 可选值可以是“每天”(0-6)。
  • 月份(*): 可选值通常是“每个月”。
  • 日期(*): 可选星号通常意味着“每个日期”,但可以与其他时间单位组合。

2. 细节说明

  • 星号(*): 表示所有可能的值。
  • 逗号(,): 用于列出有限的值。
  • 中杠(-): 表示范围(如 2-5 表示 2,3,4,5)。
  • 正斜线(/): 用于指定间隔频率(如 0-23/2 表示每2小时检查一次)。

常见用法示例

例子1:每分钟运行一次命令

* * * * * your_command

例子2:每小时的第3、15分钟运行一次

3,15 * * * * your_command

例子3:在每天上午8点至11点之间的第3和15分钟

3,15 8-11 * * * your_command

例子4:每天8点至11点的每2个小时运行

3,15 8-11 */2 * * * your_command

例子5:每个星期一的上午11点

0 11 * * 1 your_command

例子6:晚上11点重启 SMB 服务

30 21 * * * /etc/init.d/smb restart

例子7:每月1日、10日、22日的上午4:45

45 4 1,10,22 * * your_command

例子8:每周六、周日的上午1:10

10 1 * * 6,0 your_command

例子9:每天晚上6点至午夜之间每半小时重启服务

0,30 18-23 * * * your_command

例子10:每个星期六的晚上11点

0 23 * * 6 your_command

例子11:每个小时运行一次

*oresolving cron job execution each hour.*/1 * * * * /etc/init.d/smb restart

例子12:晚上11点到早上7点,每个小时运行一次

23-7/1 * * * your_command

例子13:每月4日和周一至周三的上午11点

0 11 4 * mon-wed your_command

例子14:1月4日的上午4点

0 4 1 jan your_command

例子15:运行 cron.hourly目录内的脚本

01 * * * * root run-parts /etc/cron.hourly

适用的场景

了解了 crontab 的基本语法以后,可以根据自己的需求灵活调整时间参数。例如,为特定服务器重启服务、定期备份文件、执行系统检查等都能通过 crontab 实现。crontab 的高灵活性使其成为 Linux系统管理员和开发者的必备工具。

转载地址:http://qnngz.baihongyu.com/

你可能感兴趣的文章
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
MySQL —— 视图
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
查看>>
Mysql 中的日期时间字符串查询
查看>>
mysql 中索引的问题
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>