一:一次性计划任务(at)
1:一次性计划任务的简介
在某个时间执行任务,这个服务是有atd管理的,默认安装了atd服务,at命令是管理工具
2:at来管理计划任务
1:创建计划任务
第一种格式:
at 时间 回车,再来输入命令
按ctrl+d退出
第二种格式:
at 时间 < 文件
就是将命令放入到文件中去,通过文件输入
第三种格式:
echo 命令 | at 时间
生成的这个计划任务文件存放在/var/spool/at
这个文件最后2行存放的就是命令,一但到了时间,就执行,所在的文件也会消失,生成的是一个可执行文件
3:关于这个时间的格式
不能精确到秒,只能精确到分钟
时间格式的写法
8:00am 4pm + 3days 4:00 2024-2-2
关于时间格式的写法存放在/usr/share/doc/at/timespec
4:关于一次任务的详细解读
[root@server /]# at -l 2 Fri Feb 2 14:00:00 2024 a root
第一栏位:就是计划任务的序号
第二栏位:计划任务执行的时间和日期
第三栏位:优先级a-z,a最高,z最低
第四栏位:计划任务的拥有者
5:一次任务的操作
1)展示任务的详情
at -l 或者atq
[root@server /]# at -l 2 Fri Feb 2 14:00:00 2024 a root 3 Fri Feb 2 13:25:00 2024 a root 4 Fri Feb 2 13:25:00 2024 a q7 [root@server /]# atq 2 Fri Feb 2 14:00:00 2024 a root 3 Fri Feb 2 13:25:00 2024 a root 4 Fri Feb 2 13:25:00 2024 a q7 [root@server /]#
默认情况下,普通用户只能看到自己的计划任务,root用户都可以看的到
2)删除任务
at -d 任务编号或者atrm 任务编号
[root@server mnt]# at -l 2 Fri Feb 2 14:00:00 2024 a root 5 Fri Feb 2 17:00:00 2024 a root [root@server mnt]# at -d 2 [root@server mnt]# atrm 5 [root@server mnt]# at -l [root@server mnt]#
3)设置优先级
当系统资源紧张的时候,优先执行优先级高的任务
at -q 队列优先级
[root@server at]# at -q n 9pm warning: commands will be executed using /bin/sh at> touch /mnt/uu at> <EOT> job 9 at Fri Feb 2 21:00:00 2024 [root@server at]# at -l 7 Fri Feb 2 18:00:00 2024 a root 8 Fri Feb 2 22:00:00 2024 b root 9 Fri Feb 2 21:00:00 2024 n root [root@server at]#
4)查看任务的详情
[root@server at]# at -c 9 #!/bin/sh # atrun uid=0 gid=0 # mail root 0 umask 22 SHELL=/bin/bash; export SHELL SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1594,unix/unix:/tmp/.ICE-unix/1594; export SESSION_MANAGER COLORTERM=truecolor; export COLORTERM HISTCONTROL=ignoredups; export HISTCONTROL XDG_MENU_PREFIX=gnome-; export XDG_MENU_PREFIX
.......
3:使用at注意事项
1)不能定义的时间比现在的早,会自动的推迟到明天执行
2)要执行的文件,突然关机了(或者服务故障了),会在下次服务启动的时候,自动的执行
4:at的黑白名单
默认/etc/deny,/etc/allow需要创建,并且allow的优先级比deny的高,当用户同时存在这2个文件的时候,以allow为准,如果/etc/allow里面为空,则表明没有人能允许使用at,但是root能使用
标签:00,Feb,RHCE,任务,server,2024,第五,root,Fri From: https://www.cnblogs.com/qm77/p/18002997