1.crontab 命令
crond 是 linux 下用来周期性的执行某种任务或等待处理某些事件的一个守护进程, 与 windows 下的计划任务类似, 当安装完成操作系统后, 默认会安装此服务 工具, 并且会自动启动 crond 进程, crond 进程每分钟会定期检查是否有要执行的任务, 如果有要执行的任务, 则自动执行该任务.
1.1 crontab 的调度方式
Linux 下的任务调度分为两类, 系统任务调度和用户任务调度.
系统任务调度: 系统周期性所要执行的工作, 比如写缓存数据到硬盘, 日志清理等. 在 / etc 目录下有一个 crontab 文件, 这个就是系统任务调度的配置文件./etc/crontab,cron.daily/,cron.hourly/ cron.monthly/.
一般把计划任务写在这个文件里面就可以了./etc/crontab
如果想一小时执行一次的脚本放在 cron.hourly/ 目录里面即可一般会被软连接到这个目录下, 或者拷贝进来..
用户任务调度: 用户定期要执行的工作, 比如用户数据备份, 定时邮件提醒等. 用户可以使用 crontab 工具来定制自己的计划任务. 所有用户定义的 crontab 文件都被保存在 /var/spool/cron 目录中. 其文件名与用户名一致.
如果用户 wang 想创建一个用户的计划任务, 可以创建一个 wang 的文件, 以 crontab 的格式写任务计划. 例如: echo '00 00 * * */bin/sh /usr/local/webserver/nginx/script/cut_nginx_log.sh'>> /var/spool/cron/root
1.2 crontab 的文件格式
crontab 文件的格式:
minute hour day month weekday username command
详解:
minute: 分, 值为 0-59
hour: 小时, 值为 1-23
day: 天, 值为 1-31
month: 月, 值为 1-12
weekday: 星期, 值为 0-6(0 代表星期天, 1 代表星期一, 以此类推)
username: 要执行程序的用户, 一般设置为 root
command: 要执行的程序路径 (设置为绝对路径)
2.crontab 命令的使用方法
格式:
crontab [选项]
选项:
e: 编辑一个新的计划任务
l: 显示计划任务
r: 删除计划任务
实例:
- # crontab -e // 创建计划任务
- 00 * * * * root /usr/bin/date
- # crontab -l // 查看计划任务
- 00 * * * * root /usr/bin/date
- # crontab -r // 删除计划任务, 并查看
- # crontab -l
- no crontab for root
3.crontab 实例
1. 每两小时执行一次 date 命令
* */2 * * * root /usr/bin/date
2. 周三和周五 8 点执行 date 命令
* 8 * * 3,5 root /usr/bin/date
3.6 点到 9 点执行 date 命令
* 6-9 * * * root /usr/bin/date
特殊符号 | 代表意义 |
* 星号 | 任何时刻都接受的意思,例如 0 3 * * * 不管什么日期月份周只要到 3 点就执行工作 |
,逗号 | 分隔的意思,例如 0 3,6 * * * 3 点和 6 点都执行工作 |
- 减号 | 代表时间范围,例如 0 1-3 * * * 123 点都执行工作 |
/n 斜线 | n 为数字,表示每隔几个单位,例如 & nbsp; */5 * * * * 每隔 5 分钟执行工作一次 |
来源: http://www.bubuko.com/infodetail-2599636.html