站上东京埠 发表于 2019-3-15 11:52:13

Linux筹划使命之at下令实用案例

Windows体系的筹划使命估计各人都用过,图形界面,利用简朴。Linux同样有筹划使命工具,而且功能更为强盛,尤其是联合脚本。Linux里常用2种筹划使命工具下令:at和crontab。


1. Linux筹划使命工具:at

at下令用于一次性实行某使命。固然,假如你联合能主动循环实行任何的脚本,现实上也能到达循环或定期反复实行的结果。假如你想定期反复实行某使命,首选crontab,而不是at。at只能定时一次性实行某步伐大概某脚本。
以CentOS7.5为例,默认环境下,最小化安装并没有包罗at工具。必要管理员手动安装。

[*][root@zcwyou ~]# at
-bash: at: 未找到下令
安装at

[*][root@zcwyou ~]# yum -y install at
末了体系表明安装乐成:Running transaction正在安装 : at-3.1.13-23.el7.x8664 1/1 验证中 : at-3.1.13-23.el7.x8664 1/1
已安装:at.x86_64 0:3.1.13-23.el7
完毕!

CentOS 6开启atd服务。

[*][root@zcwyou ~]# /etc/init.d/atd start
大概

[*][root@zcwyou ~]# service atd start
CentOS 6查抄:

[*][root@zcwyou ~]# ps -ef |grep atd
确认能看到/usr/sbin/atd正在运行:root 53055 1 0 09:30 ? 00:00:00 /usr/sbin/atd -f
CentOS 7,开启atd服务。

[*][root@zcwyou ~]# systemctl start atd
CentOS 7查抄:

[*][root@zcwyou ~]# systemctl status atd
确认能看到active (running):
Active: active (running)
OK!,如今at功能已经乐成开启了。默认环境下,at已经设置好了开机自启动。

2. 常见利用方法

2.1 利用at下令定时实行某脚本

需求:2天后,下战书6点实行/root/abc.sh,请提前写好abc.sh这个脚本文件,并包管具有x可实行权限。

[*][root@zcwyou ~]# at 6pm+2 days
实行过程
at> /root/abc.shat> 按键盘上的ctrl+d,表现筹划使命设置完毕。at>job 2 at 2018-10-11 18:00
at筹划使命生存位置 /var/spool/at

2.2 检察at筹划使命

检察使命下令atq,可以看到有一个正在等候实行的使命,序号为4

[*][root@zcwyou ~]# atq
4 2018-10-11 18:00 a root

表现筹划使命的主动天生的脚本,以序号为4的使命为例:

[*][root@zcwyou ~]# at -c 4
2.3 利用atrm下令删除筹划使命

好比删除序号为4的筹划使命:

[*][root@zcwyou ~]# atrm 4

2.4 定时重启

两分钟后后重启服务器

[*][root@zcwyou ~]# at now +2 minutes
at> rebootat> 按键盘上的ctrl+d,表现筹划使命设置完毕。at>job 1 at Wed Oct 10 10:09:00 2018
看到job 1被创建了,接下来检察它

[*][root@zcwyou ~]# atq
1 Wed Oct 10 10:09:00 2018 a root
确实可以看到有一个序号为1的使命等候实行。2分钟后,服务器被重启了。
2.5 指定时间实行使命

来日诰日破晓2点实行某使命

[*][root@zcwyou ~]# at 02:00am tomorrow
2018年12月30号破晓4点实行某使命

[*][root@zcwyou ~]# at 04:00am 12/30/2018
联合以上例子,可以机动修改一些时间选项好比把minutes(分钟)改为hours(小时),2小时后实行某使命。

[*][root@zcwyou ~]# at now +2 hours
3. at的时间选项


[*]hh:mm,即小时:分钟(当天,假如时间已过,则在第二天实行)
[*]midnight(深夜),noon(中午),teatime(下战书茶时间,即下战书4点),today,tomorrow等
[*]时间后加am表现上午,pm表现下战书
[*]指定详细实行日期mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)
[*]相对计时法now + n 单元,now是如今时候,n为数字,单元有minutes、hours、days、weeks,分别表现分钟、小时、天、周
4. 限定用户利用at下令,一个用户名占用一行

答应用户列表:/etc/at.allow
克制用户列表/etc/at.deny
Step1: atd先查抄allow列表,假如内里有指定的用户,即可答应该用户利用at。Step2: 假如用户不在allow列表中,则必要继承检察deny列表文件是否存在而且必要匹配内里的内容,假如deny列表文件存在而且内容为空,则该用户可以利用at。假如deny列表文件不存在,则该用户不能利用at,root用户不受限定。
微信搜刮公众号“智传网优”大概长按以下二维码,然后选择“辨认图中二维码”直接开始自助视频学习,接待留言或与我们讲师直接沟通。

Linux学习QQ群:557371664
页: [1]
查看完整版本: Linux筹划使命之at下令实用案例