UP | HOME

使用 crontab 来配置定时任务

Table of Contents

1 简介

在日常工作中往往需要开启定时任务,比如:定时备份文件夹,定时备份数据库等。那应 该以什么样的姿势完成这种事情呢。所谓 Linux 大法好,我们可以使用 crontab 来开启定 时任务

2 使用方法

2.1 基础知识

crontab 的命令格式是 五个参数 然后加 命令 ,其中前五个参数分别表示如下含义:

  • m 任务执行的分钟
  • h 任务执行的小时
  • dom 任务执行的每月的时间
  • mon 任务执行的月份
  • dow 任务执行的每周的时间

在Ubuntu 操作系统中默认文件中写的就很清晰易懂

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

2.2 操作示例

# 查看当前启用的定时任务
crontab -l

# 在编辑任务是最好将编辑器设置成 vim, 否则第一次编辑时会问你使用的编辑器
export EDITOR=vim

# 编辑当前的定时任务
crontab -e

2.3 常见的定时任务

  • * 代表所有可能的值,如month字段为星号,则表示在满足其它字段的制约条件后每月 都执行该命令操作
  • , 可以用逗号隔开的值指定一个列表范围,例如 "1,2,5,7,8,9"
  • - 可以用整数之间的中杠表示一个整数范围,例如 "2-6" 表示 "2,3,4,5,6"
  • / 可以用正斜线指定时间的间隔频率,例如 "0-23/2" 表示每两小时执行一次。
# 当天23点,第二天0点到凌晨7点 每隔1分钟执行一次脚本
* 23,00-07/1 * * * /bin/sh /home/me/script.sh

# 每年的4月份每周的周一到周三的11点执行脚本
00 11 *  4 1-3 /bin/sh /home/me/update.sh

Last Updated 2020-02-22 Sat 20:05. Created by Jinghui Hu at 2019-09-12 Thu 11:12.