系统定时任务——at

news/2024/10/17 20:24:15/

1)、 at服务管理与访问控制
at命令要想正确执行,需要atd服务的支持。atd服务是独立的服务,所以启动的命令是:
[root@localhost ~]# service atd start
正在启动 atd: [确定]
如果想要让atd服务开机时自动启动,可以使用如下命令:
[root@localhost ~]# chkconfig atd on
atd服务启动之后,at命令才可以正常使用,不过我们还要学习下at命令的访问控制。这里的访问控制指的是允许哪些用户使用at命令设定定时任务,或者不允许哪些用户使用at命令。大家可以想象成为设定黑名单或设定白名单,这样更容易理解。
at的访问控制是依靠/etc/at.allow文件(白名单)和/etc/at.deny文件(黑名单)这两个文件来实现的,具体规则如下:
 如果系统中有/etc/at.allow文件,那么只有写入/etc/at.allow文件(白名单)中的用户可以使用at命令,其他用户不能使用at命令(/etc/at.deny文件会被忽略,也就是说同一个用户既写入/etc/at.allow文件,也写入/etc/at.deny文件,那么这个用户是可以使用at命令的,因为/etc/at.allow文件优先级更高。)。
 如果系统中没有/etc/at.allow文件,只有/etc/at.deny文件,那么写入/etc/at.deny文件(黑名单)中的用户不能使用at命令,其他用户可以使用at命令。不过这个文件对root用户不生效。
 如果系统中这两个文件都不存在,那么只有root用户可以使用at命令。
系统中默认时只有/etc/at.deny文件,而且这个文件是空的,这样的话系统中所有的用户都可以使用at命令。不过如果我们打算控制用户的at命令权限,把用户写入/etc/at.deny文件即可
/etc/at.allow文件的权限更高,如果/etc/at.allow文件存在,则/etc/at.deny文件失效。/etc/at.allow管理行为更加严格,因为只有写入这个文件的用户才能使用at命令,如果需要禁用at命令的用户较多,则可以把少数用户写入这个文件。/etc/at.deny文件的管理较为松散,如果允许使用at命令的用户较多,则可以把禁用的用户写入这个文件。不过这两个文件都不能对root用户生效。

2)、 at命令

[root@localhost ~]# at [选项] 时间
选项:
-m: 当at工作完成后,无论是否命令有输出,都用email通知执行at 命令的用户
-c 工作号: 显示该at工作的实际内容
时间:
at支持的时间格式如下:
HH:MM 在指定的“小时:分钟”执行命令,例如:02:30
HH:MM YYYY-MM-DD 在指定的“小时:分钟 年-月-日”执行,例如02:30 2018-07-25
HH:MM[am|pm] [month] [date] 在指定的“小时:分钟[上午|下午][月][日]”执行,
例如02:30 July 25
HH:MM[am|pm] + [minutes|hours|days|weeks] 在指定的时间“再加多久执行”,例
如now + 5 minutes,05am +2 hours
at命令只要指定正确的时间,就可以输入需要在指定时间执行的命令了,这个命令可以是系统命令,也可以是shell脚本。举几个例子吧:
例子1:
[root@localhost ~]# cat /root/hello.sh
#!/bin/bash
echo "hello world!!"
#该脚本会打印“hello workd!!”
[root@localhost ~]# at now +2 minutes
at> /root/hello.sh >> /root/hello.log
#执行hello.sh脚本,并把输出写入/root/hello.log文件
at> <EOT> 使用ctrl+d保存at任务
job 8 at 2018-07-25 20:54 这是第8个at任务,会在2018年7月25日20:54
分执行
[root@localhost ~]# at -c 8
#查询第8个at任务的内容
…省略部分内容… 主要是定义系统的环境变量
/root/hello.sh >> /root/hello.log
#可以看到at执行的任务
例子2:
[root@localhost ~]# at 02:00 2018-07-26
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>
job 9 at 2018-07-26 02:00
#在指定的时间关机。在一个at任务中,是可以执行多个系统命令的


3)、 其他at管理命令
 

at还有查询和删除命令,命令如下:
[root@localhost ~]# atq
#查询当前服务器上的at工作
例如:
[root@localhost ~]# atq
9 2018-07-26 02:00 a root
#说明root用户有一个at任务在2018年7月26日的02:00执行,工作号是9
[root@localhost ~]# atrm [工作号]
#删除指定的at任务
例如:
[root@localhost ~]# atrm 9
[root@localhost ~]# atq
#删除9号at任务,再查询就没有at任务存在了


http://www.ppmy.cn/news/429079.html

相关文章

AlarmManager定时开关业务

AlarmManagerUtils.setAlarmOpen(context, 1, Integer.valueOf(a1), Integer.valueOf(a2), 0, 1, 0, "提醒开启风扇时间到了"); AlarmManagerUtils.setAlarmClose(context, 1, Integer.valueOf(b1), Integer.valueOf(b2), 0, 2, 0, "提醒关闭风扇时间到了"…

系统定时任务linux,linux系统下定时任务(示例代码)

linux系统定时任务 1、Linux系统定时任务at (1)作用&#xff1a;定时任务&#xff0c;指定一个时间执行一个任务&#xff0c;只能执行一次 (2)用法&#xff1a;at [option] TIME 选项&#xff1a;-V 显示版本信息: -l:列出指定队列中等待运行的作业&#xff1b;相当于atq -d:删…

编写一个闹钟和定时关机工具(MFC VS2010)

这个小工具在自己生活当中能用到&#xff0c;运行软件以后&#xff0c;会显示当前的系统时间&#xff0c;然后你可以设定时间&#xff0c;再选择是定时响铃还是关机。截图如下&#xff1a; 前言&#xff1a;本程序采用visual studio 2010 &#xff0c;对话框类型的应用程序&…

linux cpu跑分软件,Geekbench 5 5.2.3 硬件性能跑分工具 特别版

CPU基准测试 Geekbench 5测量处理器的单核和多核电源&#xff0c;从查看电子邮件到拍照到播放音乐&#xff0c;或者一次性完成所有操作。Geekbench 5的CPU基准测试可以测量新应用领域的性能&#xff0c;包括增强现实和机器学习&#xff0c;因此您将了解系统与前沿的接近程度。 …

软路由cpu性能跑分

软路由cpu性能跑分 cpu核心功耗单核多核N50304/46W14052909N50004/46W11522608N41204/46W11072477N41004/46W9952238N42004/46W8362027N34504/46W7341842J19004/410W5431797 引用&#xff1a; youtube老白

跑分cpu_一款神秘的联发科CPU:跑分达到了622409分

超过10万人正在关注 赶快来关注吧&#xff0c;这里有你想找的热点资讯&#xff0c;这里有你想要的各种资料&#xff0c;还有海量的资源&#xff0c;还在等什么。快来关注&#xff0c;大佬带你开车。 11月30日&#xff0c;安兔兔官方微博曝光了一款神秘的联发科CPU。这款CPU采用…

java cpu 分析工具_java性能分析 - CPU飙高分析工具

背景 有处理过生产问题的同学基本都能遇到系统忽然缓慢&#xff0c;CPU突然飙升&#xff0c;甚至整个应用请求不可用。当出现这种情况下&#xff0c;在不影响数据准确性的前提下&#xff0c;我们应该尽快导出jstack和内存信息&#xff0c;然后重启系统&#xff0c;尽快回复系统…

跑分cpu_【新机】天玑800+跑分性能出炉:CPU干翻骁龙765G,比肩麒麟985 | 骁龙768G性能曝光...

近日一款型号为M2004J7BC的小米新机出现在了GeekBench跑分库中&#xff0c;应该就是即将亮相发布的redmi Note 9系列。新机搭载了天玑820&#xff0c;型号为MT6875(天玑800为MT6873)。CPU由4颗2.6GHz的A76大核4颗2.0GHz的A55小核构成&#xff0c;GPU为Mali-G57。 Geekbench5 天…