无论是做开发还是做运维的程序猿,crontab 命令是必须用到的命令,简而言之呢,crontab 就是一个自定义定时器。

一、安装

一般来说cron无需我们手动安装,但是对于某些系统来说,cron有可能会被阉割,比如docker中的容器。

apt-get install cron
sudo service cron start #启动服务
# 其他命令
sudo service cron stop #关闭服务
sudo service cron restart #重启服务
sudo service cron reload #重新载入配置
sudo service cron status #查看服务状态

二、使用

2.1 crontab 时间说明

# .---------------- minute (0 - 59) 
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR
#sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed

minute:代表一小时内的第几分,范围 0-59。
hour:代表一天中的第几小时,范围 0-23。
mday:代表一个月中的第几天,范围 1-31。
month:代表一年中第几个月,范围 1-12。
wday:代表星期几,范围 0-7 (0及7都是星期天)。
who:要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。
command:所要执行的指令。

2.2 crontab 命令

  • 重新指定 crontab 定时任务列表文件

    crontab $filepath
  • 查看 crontab 定时任务

    crontab -l
  • 编辑定时任务【删除 - 添加 - 修改】

    crontab -e

三、创建一个定时任务

3.1 使用crontab -e创建定时任务

注意: 使用这个命令的前提是,你系统里面至少要有一款文件编辑器

corntab -e
# 选择编辑器后输入需要执行的任务命令,如:
* 3 * * * reboot

3.2 使用文件创建任务

创建一个定时任务需要3个步骤
1、创建cron定时脚本

vim auto_backup_db.cron

2、打开创建的cron定时脚本,添加cron时间任务
输入以下内容

*/1 * * * * echo "123" >> /home/test.txt  # 每隔一分钟将"123"写入到 test.txt文件中

3、启动定时脚本

crontab auto_backup_db.cron

4、 检查任务有没有被添加

crontab -l

效果: