一,单一执行的例行性工作
定时任务,将来的某个时间点执行
使用单一理性工作的命令:at -> atd
命令 服务名
查看atd状态,看有没有这个服务,查看结果为有
我们使用 at 命令来生成所要运行的工作,并将这个工作,以文本方式写入/var/spool/at/目录内,该工作便能等待 atd 这个服务的取用与执行了。
查看 /var/spool/at/目录是否存在 的命令时 Ls -l /var/spool/at/
不是所有人都可以进行 at 工作调度。我们可以利用/etc/at.allow和/etc/at.deny 这两个文件来进行 at 的使用限制。
查找系统中是否有这两个文件
Find /etc -name "at.*"
Ls -l /etc/at.*
/etc/at.allow 文件里的是允许的用户,如果没有此文件,查看at.deny
/etc/at.deny 文件里面是被拒绝的用户,文件存在且空,所有人可用at命令
若两个文件都不存在,那么只有root可以使用at命令
at命令详解
命令格式:at [参数] [时间]
时间格式:
HH:MM
midnight, noon, or teatime(4pm)
AM or PM
month-name day year 几月几日
MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD.
now + count time-units(minutes, hours, days, or weeks),
today tomorrow.
at 4pm + 3 days
at 10am Jul 31
at 1am tomorrow.
at 6pm today
1,用命令at -m发送;-m仅限于当前用户使用
2,使用命令at now + 2 minutes让两分钟后在/root/at230101/at_task目录中覆盖内容分“789”
> echo "789" > /root/at230101/at_task
此命令为交互式命令;Ctrl + backspace删除;Ctrl + d结束
先查看一下命令执行前文件/root/at230101/at_task中的内容
在看一下命令执行后的内容
3,Atq与at -l都是查看at调度的意思
此时有个at调度
使用命令atq查看
使用命令at -l查看
4,at -c 编号 列出内容,前面为环境变量,倒数第二行为要执行的命令
使用命令at -c 2列出编号为2 的调度工作的内容
5,查看存储at任务的目录
使用命令ls -l /var/spool/at/查看存储在目录中的任务
使用命令cat /var/spool/at/a0000201a95b18 查看内容;与at -c内容一致;创建一个任务后,在目录/var/spool/at/下面会写一个文件
6,at -d 编号 删除调度中的工作
二,循环执行的例行性工作
crontab: 使用设置循环周期执行任务的命令 crond(服务)
循环执行的例行性工作:每隔一定的周期就需要执行一次,crontab
/etc/cron.allow 将可以使用 crontab 的账号写入其中,若不在该文件内的用户 则不可使用 crontab
/etc/cron.deny 将不可以使用 crontab 的账号写入其中,若不在该文件内的用 户则可使用 crontab
当用户使用 crontab 新建工作调度之后,该项工作就会被记录到/var/spool/cron/里面
cron 执行的每一项工作都会被 记录到/var/log/cron这个日志文件中
命令格式: crontab [-u user] [-l | -r | -e]
使用命令crontab -e相当于vim 打开一个文件
文件中写六项内容
前五项描述周期,用空格分隔
第六段代表执行的任务
没有用*表示
不连续用逗号表示
1,crobtab -e
每周一到周五早上八点执行闹钟任务
使用命令crontab -e进入编辑框(crontab -e 表示为当前用户配置)
编辑内容
0 8 * * 1,2,3,4,5 echo "alarm clock" >> /root/cron_task
2,Crontalbe -l
查看crontab的工作内容
3,crobtab -u
root为redhat创建
Crontab -u redhat -e
指定用户查看
Crontal -u redhat -l
三,系统的例行性任务
Vim /etc/crontab 针对所有用户的任务
user-name表示执行命令的用户是谁
run-parts:该命令可将后面接的“目录”内的所有文件找出来执行