一、单一执行的例行性工作
1、at命令的工作过程
查看黑白名单,两个文件如果都不存在,只有root能使用
/etc/at.allow,白名单 /etc/at.deny,黑名单
#at工作调度对应的系统服务
[root@localhost ~]# systemctl status atd
#at的工作文件存放目录
[root@localhost ~]# ll /var/spool/at
#at工作的日志文件
[root@localhost ~]# ll /var/log/cron
2 at命令详解
命令格式: at [参数] [时间]
参数:
-m 当任务完成之后,即使没有标准输出,将给用户发送邮件
-l atq的别名,可列出目前系统上面的所有该用户的at调度
-d atrm的别名,可以取消一个在at调度中的工作
-v 使用较明显的时间格式,列出at调度中的任务列表
-c 可以列出后面接的该项工作的实际命令内容
-f 从文件中读取作作业
时间格式:
HH:MM 在今天的HH小时MM分钟执行,如果今天的这个时间点已经过了,则明
天执行
HH:MM YYYY-MM-DD 强制规定在某年某月的某一天的特殊时刻进行该工作
now + 2 minutes 从现在开始几分钟minutes, hours, days, or weeks
二、循环执行的例行性工作
1 crontab的工作过程
查看黑白名单,两个文件如果都不存在,只有root能使用
/etc/cron.allow,白名单 /etc/cron.deny,黑名单
#crontab工作调度对应的系统服务
[root@localhost ~]# systemctl status crond
#crontab工作的日志文件
[root@localhost ~]# ll /var/log/cron
#用户定义计划任务的文件所在目录
[root@localhost ~]# ll /var/spool/cron/
2 crontab命令详解
参数:
-u<user>定义用户
-e编辑用户的crontab
-l列出用户的crontab
-r删除用户的crontab
-删除前提示
-n<host>在集群中设置主机以运行用户的crontabs
-c让集群中的主机运行用户的crontabs
-s selinux上下文
-V打印版本并退出
-x<mask>启用调试
crontab计划任务的时间格式:
crontab计划任务的时间格式中的特殊符号:
3 系统的计划任务
[root@localhost ~]# 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
注:当需要同一时间执行多个脚本时,可以将这多个脚本放在一个目录下,然后使用run-parts来执行。
run-parts:该命令可将后面接的“目录”内的所有文件找出来执行。