crond任务调度
crond任务调度是定时任务调度。指的是系统在某个时间执行特定的命令或程序
任务调度分类:1.系统工作,某些重要的龚总必须不停的执行。例如 病毒扫描
2.个别用户工作,个别用户希望执行某些程序。例如 对文件进行备份
基本语法:
crontab [选项]
选项: -e 【编辑定时任务】
-l 【查看任务】
-r 【删除当前所有的crontab任务】
service crond restart 【重启任务调度】
crond 的时间指定
*/n * * * *
*/n :每隔n分钟执行一次命令
第二个 * :小时,范围为0-23
第三个 * :一个月中的第几天,范围为1-31
第四个 * :一年的第几个月,范围为1-12
第五个 * : 一周中的星期几,范围为0-7(0和7 都代表星期日)
特殊符号 | 含义 |
---|---|
* | 代表任何时间。 |
, | 代表不连续时间。比如“0 8,12,16 * * * 命令 ”代表在每个月的每天8点00,12点,0016点00都执行一次命令 |
- | 代表连续的时间范围。比如“0 5 * * 1-6”,指在每个月的每天周1到周6凌晨5 点执行 |
*/n | 代表每隔多久执行一次。比如*/1,代表每隔1分钟执行一次;*/10,每隔10分钟执行一次 |
举例:
1.在每天的22:20分,将当前时间追加到/home/ddd----------------------①crontab -e ②20 22 * * * date >> /home/ddd
20 22 * * * date >> /home/ddd
2.每天4点,每隔10分钟执行一次命令 ------------------------ ①crontab -e ② */10 4 * * * 命令
at定时任务
使用at命令时,要保证atd后台进程的运行 ps -ef | grep atd
ps -ef 检测当前所有在运行的进程
基本语法:
at [选项] [时间]
Crtl+D 【at命令输入结束】
atq 【查看系统中未执行的任务】
atrm 任务编号 【删除任务】
选项:
选项 | 含义 |
---|---|
-m | 当指定的任务完成后,给用户发送邮件,即使没有标准输出 |
-l | atq的别名 |
-d | atrm的别名 |
-v | 显示任务将被执行的时间 |
-c | 打印任务的内容到标准输出 |
-V | 显示版本信息 |
-q<队列> | 使用指定的队列 |
-f<文件> | 从指定文件读入任务而不是从标准输入读入 |
-t<时间参数> | 以时间参数的形式提交要运行的任务 |
时间指定方法:
aa:bb (小时:分钟)。 eg : 04:00 指在四点执行
模糊词语指定:midnight(深夜)、noon(中午)、teatime(饮茶时间,一般为下午4点)
12小时计时制: 在时间后加 AM(上午)、PM(下午) eg: 12 pm
具体日期:月/日/年;日.月.年;时间 年-月-日 eg: 04:00 2021-01-11
相对计时法: now + count 时间单位
count 是时间数
时间单位有(minutes(分钟)、house(小时)、day(天)、weeks(星期)) eg:now+5 minutes 是指5分钟后执行程序
直接指定:使用today、tomorrow 等指定
举例:
① 明天17点,输出时间到指定文件 /bin/date100.log
[root@lyj001 ~]# at 5pm tomorrow at> date > /root/date100.log
② 2分钟后,输出时间到文件 /bin/date200.log
[root@lyj001 ~]# at now + 2 minutes at> date > /root/date100.log