linux crontab 定时任务



1. crontab 定时任务

用来 定期执行命令 或 指定程序 的一种服务或软件

Linux 下的任务调度分为两类:系统任务调度 和 用户任务调度 。Linux 系统任务是由 cron (crond) 这个系统服务来控制的,这个系统服务是默认启动的。用户自己设置的计划任务则使用 crontab 命令


2. crontab文件含义

linux crontab 定时任务

前 5 段设置时间段,第 6 段是要执行的命令段

  •   * 代表所有的 取值范围 内的数字,如月份字段为 * ,则表示 1 到 12 个月;
  •   / 代表每一定 时间间隔 ,如分钟字段为 */10,表示每 10 分钟执行 1 次。
  •   - 代表从某个 区间范围 ,是闭区间。如“2-5”表示“2,3,4,5”,小时字段中 0-23/2 表示在 0~23 点范围内每 2 个小时执行一次。
  •   , 不连续的数值 分散 ,如 1,2,3,4,7,9。

3. 常用命令

crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
  1. 设定用户服务
crontab -u user
  1. 打开和编辑命令
crontab -e
  1. 查看命令
crontab -l
  1. 删除文件
crontab -r
  1. 查看配置文件
cat /etc/crontab
  1. 查看任务是否执行
grep "文件名称" /var/log/cron

4. 常用实例

  1. 每分钟执行一次
*  *  *  *  *  command
  1. 每小时的第3和第15分钟执行
3,15  *  *  *  *  command
  1. 每天上午8-11点的第3和15分钟执行
3,15 8-11 * * * command
  1. 每隔2天的上午8-11点的第3和15分钟执行
3,15  8-11  */2  *  *  command
  1. 每个星期一的上午8点到11点的第3和第15分钟执行
3,15  8-11  *  1  *  command
  1. 每晚的21:30执行
30  21  *  *  *  command
  1. 每月1、10、22日的4 : 45执行
45  4  *  1,10,22  *  command
  1. 每周六、周日的1 : 10执行
10  1  *  *  6,0  command
  1. 每天18 : 00至23 : 00之间每隔30分钟执行
*/30  18-23  *  *  *  command
  1. 晚上11点到早上7点之间,每隔一小时执行
*  23-7/1  *   *   *  command
  1. 每月的4号与每周一到周三的11点
*  11  4  *  1-3  command
  1. 每小时执行一次
 0  */1  *  *  *
  1. 每隔一小时每一分钟都执行一次
*  */1  *  *  * 

5. 使用场景

  1. 用户数据备份
  2. 定时邮件提醒
  3. 抢购脚本
上一篇:【Linux】定时任务crontab和at命令详解


下一篇:Linux crontab定时执行任务命令格式与详细例子