一、安装
检查是否安装
crontab -l #报错表示未安装
安装服务
yum -y install vixie-cron crontabs
启动服务
service crond status #查看服务状态
service crond start #启动服务
service crond stop #关闭服务
service crond restart #重启服务
二、格式
crontab [-u user] file
crontab [-u user] -e #打开定时任务文本编辑器
crontab [-u user] -l #显示当前任务列表
crontab [-u user] -r #从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
文件格式
minute hour day month week command
# For details see man 4 crontabs
# Example of job definition:
.---------------------------------- 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 表示星期(0 或 7 表示星期天)
| | | | | .------------------- username 以哪个用户来执行
| | | | | | .------ command 要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
| | | | | | |
* * * * * user-name command to be executed
三、配置文件及位置
文件 | 说明 |
---|---|
/etc/crontab | 全局配置文件 |
/etc/cron.d | 这个目录用来存放任何要执行的crontab文件或脚本 |
/etc/cron.deny | 该文件中所列用户不允许使用crontab命令 |
/etc/cron.allow | 该文件中所列用户允许使用crontab命令 |
/var/spool/cron/ | 所有用户crontab文件存放的目录,以用户名命名,比如你是root 用户,那么当你添加任务是,就会在该路径下有一个root文件。 |
/etc/cron.deny | 该文件中所列用户不允许使用crontab命令 |
/var/log/cron | crontab 的日志文件 |
四、应用
以执行/root/spiderGo下脚本为例,程序路径为/root/spider/runner.py
编写脚本
cd ~ #进入root目录下
vim spiderGo.sh #创建脚本文件
#! /usr/bin/bash
cd /root/spider/
/usr/bin/python3 runner.py
编辑cron任务
crontab -e #默认为当前用户
00 21 * * * /bin/sh /root/spiderGo.sh