任务计划和周期任务
一次性任务:at、batch
at命令只执行一次,使用交互模式输入命令,/etc/at.allow和/etc/at.deny允许/禁止使用at命令用户
命令格式
at Time
交互模式输入命令
at -f /path/to/file Time
使用文件内用作为at命令
at -l
查看所有命令,同atq
at -c Job_Num
查看具体命令内容
at -d Job_Num
删除命令,同atrm
at -q Alpha Time
指定队列的字母
Time格式:
××:××
具体当天几点执行命令
-t [[CC]YY]MMDDhhmm[.ss]
使用精确时间执行命令
now + Num {min|hour}
当前时间之后分钟/小时执行命令
batch不能指定时间,在系统空闲时执行命令
周期性任务:系统crond、用户crond
系统crond任务手动维护系统周期任务,提交任务模式与at不同,其中shell解释器和PATH路径与一般情况下设置不同,命令最好使用绝对路径,自动忽略空白行,井号为注释
crontab:分为系统cron和用户cron,周期性去执行某项任务,一般分钟级配置,秒级任务需额外配置,cron.allow和cron.deny允许/禁止使用crontab命令用户
系统crond任务编辑配置文件/etc/crontab,如修改后不能立即执行,手动重启systemctl restart crond
[root@ZYB ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# 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
# | | | | |
# * * * * * user-name command to be executed
取值特点:
1、特定值
2、指定位上所有值
3、离散取值用逗号分开,如1,2,3
4、连续取值,如1-4
5、指定步长,如/2,每两个步进单位执行一次命令
用户crond任务执行crontab命令,单独任务新建、修改、删除都使用-e
选项
命令格式:
crontab -l
查看用户crond任务列表
crontab -e
使用指定编辑器(貌似就是vi编辑器)设定crond任务,带有检错功能,若使用vim编辑器直接编辑配置文件无检错功能
crontab -r
删除所有的crond任务
-e -u User_Name
root账户下编辑其他用户的crond任务