Linux 任务调度
cronteb 进行 定时任务的设置
crontab [选项]
-e | 编辑用户的计时器设置 |
-l | 列出该用户的计时器设置 |
-r | 删除该用户的计时器设置 |
-u<用户名称> | 设定要设置计时器的 |
service crond restart | 重启任务调度 |
输入 crontab [选项] 后 会进入 vi 编辑器编辑设置文件 ,然后输入 crond
crond
格式如下:默认为 * * * * * Conmmand
项目 | 范围 |
第一个* | 0-59 |
第二个* | 0-23 |
第三个* | 1-31 |
第四个* | 1-12 |
第五个* | 0-7(0和7都代表星期天) |
符号 | 含义 |
* | 代表任何时间 |
, | 代表不连续时间 |
- | 代表连续范围时间 |
*/n | 表示隔多久运执行一次 |
例如:
1 * * * * command 每到第一分钟就执行一次 command
*/1 * * * * command 每隔一分钟执行一次 command
0 7-9 * * * command 每到7到9小时的第0 分钟执行 command
0 0 1,5,6 * * command 每到 每个月的1 5 6 号的0点0分执行 command
at 定时任务
at 命令是一次性定时计划任务 ,at的守护进程atd会以后台模式运行,检查作业队列来运行。
- atd默认60秒检查作业队列
- at命令是一次性定时计划任务,执行完一个任务后不在执行
- 在使用at命令时,要确保atd进程的启动 使用 ps -ef |grep atd 查看
at的命令格式: at [选项][时间] ctrl+D 结束at命令的输入
选项 | 含义 |
-m | 任务完成,给用户发售发送邮件 |
-l | atq的别名 |
-d | atrm的别名 |
-v | 显示任务将被执行的时间 |
-c | 打印任务的内容到标准输出 |
-V | 显示版本信息 |
-q<队列> | 使用指定队列 |
-f<文件> | 指定文件读入任务而不是标准输入输出 |
-t<时间参数> | 以时间参数的形式提交要运行的任务 |
at的时间定义方式:
格式为: 时间 日期
- hh:mm(小时: 分钟)时间过去的话,下一天执行
- 使用 noon(中午),teatime(一般为下午4点),midnight(深夜)等
- 使用 AM(上午)PM(下午)
- 具体日期: month day(月 日) mm/dd/yy (月/日/年) dd/mm/yy(日/月/年)
- 相对计时法: now + x 时间单位 [minutes(分钟),hours(小时),week(星期),day(天)] x是数量
- 使用today(今天) tomorrom(明天)
例如:
at 4:50 PM 下午4:50执行
at noon tomorrow 明天中午执行
at 5:50 06/20/2021 在20021年06月20号的5:50执行
at 5:40 +1day 一天后的5:40执行
atq 相当于 at -l 查看待执行的工作
语法:atq [-V] [-q<队列>]
-V | 显示版本信息 |
-q<队列> | 指定指定的队列 |
atrm 相当于at -d 删除待执行的工作
语法:atrm [-V][编号]
-V | 显示版本编号 |