作者:重庆刮刮匠 | 来源:互联网 | 2023-08-22 19:26
一·计划任务1)at1.确定at安装chkconfig–list|grepatd启动at服务:serviceatdrestart2.访问控制如果系统中有etc
一·计划任务
1)at
1.确定at安装chkconfig –list |grep atd
启动at服务:service atd restart
2.访问控制
如果系统中有/etc/at.allow文件(白名单),那么只有在此名单下的用户可以使用at命令;
如果系统中没有/etc/at.allow文件,只有/etc/at.deny文件(黑名单),那么在此名单下的用户不能使用at命令【对root不起作用】
如果系统这两个文件都不存在,那么只有root用户可以使用at命令
3.at命令
4.例:
at now +2 minutes
at> /root/hello.sh
5.atq #查询当前服务器上的at工作
atq [工作号]
二·crontab
1)crontab循环定时任务
查询是否安装: systemctl status crond
启动: systemctl start crond
开机自启: systemctl enable crond
/etc/cron.deny文件(黑名单),那么在此名单下的用户不能使用cron命,对root无效。
一般与用户相关的软件都有白名单(allow)和黑名单(deny),也是为了便于管理。
crontab [选项]
-e -l -r -u
2)编辑任务
* 一小时的第几分钟
* 一天当中的第几小时
* 一月当中第几天
* 一年当中第几个月
* 一周中的第几天
,两个都 */n 每隔n
1.最小能识别分钟,最大能识别月
2.6个选项都不为空,不确定的用*代替
3.日期和星期最好不要在同一条命令中
4.命令最好(一定)用绝对路径执行
例:
*/10 2 4,5 10 * /root/hello.sh
10月四日和五日凌晨2点,每隔十分钟执行一次
3)crontab -e:用vi编辑器编写命令
格式: * * * * * [command]
1、crontab五个星号的意义,其中第三个和四五尽量不要一起使用,如果一起使用则是或的关系
2、crontab后面的命令要用绝对路径(脚本中的命令也尽量要用绝对路径)
4)系统任务定期执行可以把文件放到/etc/cron.{daily,hourly,monthly,weekly}
cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/
这些文件夹下
/etc/cron.daily/:每天执行
/etc/cron.hourly/:每小时执行
/etc/cron.monthly/:每月执行
/etc/cron.weekly/:每星期执行
5)anacron:错峰执行
anacron是用来保证在系统关机的时候错过的定时任务,可以在系统开机之后再执行。
anacrontab 系统定时任务,系统因意外导致任务未执行(当前时间距上次执行时间大于设置的执行间隔(精确到日期)),anacrontab会补偿执行(也就是是开机后执行)
配置文件目录: /etc/anacrontab
方法:只需要将需要定时执行的任务脚本放到 /etc/cron.(daily,weekly,monthly) 目录下,就能自动定时执行
开机后他会检测上一次执行间隔是否大于一天·如果大与一天,则立即执行。