at 命令 计划任务的使用
at
语法格式: at 时间 ;
服务名称:atd
默认是安装的,如果没有请使用YUM安装,如下:
# yum -y install at #CentOS、Redhat使用该命令
# apt-get install at #Ubuntu、Debian使用该命令
# systemctl start atd #开启atd服务
# systemctl status atd #查看atd服务状态
# systemctl is-enabled atd #查看是否开始开机启动服务,如果弹出enabled,说明开机启动此服务
在Centos6查看开机启动服务:
# chkconfig --list | grep atd #此命令在centos7上不能执行
实战-使用at创建计划任务
# date #查看系统时间
2018年 05月 21日 星期一 20:43:29 CST
# at 20:46 #注意:如果是上午时间,后面加上am,比如9:20am
at> mkdir /tmp/xuegod #输入你要执行的命令
at> touch /tmp/xuegod/a.txt
at> <EOT> #结束:ctrl+d
# at -l #查看计划任务
# atq #查看计划任务
检查at计划任务运行结果:
[root@xuegod63 ~]# ls /tmp/xuegod/
a.txt
互动:如果正在执行命令,ctrl+D ,按成ctrl+S 会怎么样? 尤其是使用vim保存,按成ctrl+s
解决: ctrl+s在linux下是锁定屏幕显示的意思,这时整个界面被锁定,不能进行正常输入。使用ctrl+q来解除锁定,
查看和删除at将要执行的计划任务
这个查看,只能看到还没有执行的。如果这个任务已经开始执行或者执行完成了,是看不到的
# at -l
5 Sat Aug 19 20:50:00 2017 a root
任务编号 |
执行的时间 |
队列 |
执行者 |
5 |
Fri Oct 28 20:55:00 2016 |
a |
root |
# at -c 5 #-c 打印任务的内容到标准输出, 查看5号计划任务具体内容
查看定时任务内容
# ls /var/spool/at/
a00003018452cb a0000501845084 spool
# tail -5 /var/spool/at/a0000501845084
at计划任务的特殊写法
[root@ panda ~]# at 20:00 2018-10-1 具体某一天下午8点
[root@ panda ~]# at now +10min 在 10分钟后执行
[root@ panda ~]# at 17:00 tomorrow 明天下午5点执行
[root@xuegod63 ~]# at 6:00 pm +3 days 在3天以后的下午6点执行
[root@xuegod63 ~]# at 23:00 < a.txt
删除at计划任务
语法: atrm 任务编号
# at -l
3 Tue May 22 08:43:00 2018 a root
5 Mon May 21 23:00:00 2018 a root
# atrm 5
# at -l
3 Tue May 22 08:43:00 2018 a root