计划任务
作用:定时自动完成特定工作
计划任务分类:
- 一次性计划任务
- 周期性重复计划任务
一次性任务计划
- at
格式:at 时间
选项:
- -q:指定任务计划的队列编号
- -l:显示尚未执行的计划任务(等同于命令atq)
- -d num:删除指定编号的计划任务(等同于命名atrm)
- -c num:显示指定编号的计划任务的具体的命令
- -f file time:从文件中读取要执行的操作
ctrl +d 保存退出
at计划任务中时间的表示方式
HH:MM 例子:12:00 这里表示的是下一个12:00
特殊方式:
now +5 minutes 5分钟之后执行这个计划任务
now +3 days 3天后的现在时间
now +3 weeks 3周
am
4am +3weeks
12:00 +1 day
周期性重复计划任务
- crontab
启动crontab的服务
servicecrondstart
chkconfigcrondon自动启动
crontab的时间表示格式:
- 分钟:0-59任意数字
- 小时:0-23任意数字
- 天:1-31任意数字
- 月:1-12任意数字
- 周:0-7任意数字
- *:表示任何时间,例如:每天的7:30就是:30 7 * * *
- /n:表示每个n单位的时间,例如:每隔10分钟:*/10 * * * *
- -:表示一个连续的范围,例如每天的7:30,8:30,9:30: 30 07-09 * * *
- ,表示离散的时间点,例如每天的7:30,10:30,14:30: 30 07,10,14 * * *
选项:
- -e:执行、修改任务计划(本质上就是用vi修改/var/spool/cron/username)
- -l:显示用户的计划任务列表
- -u username:查看指定用户的计划任务(结合-l使用)
- -r:删除当前用户的全部计划任务
例:没分钟创建一个以完整的"年月日时分秒.log"的文件
***** touch `date \+\%F\%T`.log
注意:在任务计划中特殊符号需要用反斜号进行转义