计划任务
让计算机在指定的时间做指定的事情
前言
1.临时的计划任务 也称为一次性计划任务 at
2.周期性的计划任务 crontab
一、临时的计划任务 at
只执行一次的计划任务 后台执行。
二、使用步骤
安装软件
at-3.1.10-43.el6_2.1.x86_64
查看软件有无安装
# rpm -qa |grep ^at // ^at 表示以at开头的软件
查看安装软件路径
rpm -ql at
at的运行方式
/var/spool/at 工作将以文本的方式写入此目录内,该工作便能等待atd服务取用和执行
配置
at 时间
# at 16:22
at> mkdir aa
at> touch aa/a.txt
at> <EOT> //ctrl + d 正常结束
job 2 at 2016-09-22 16:22
在哪个目录写计划任务就创建文件在哪
可写多条命令,如有错误命令,不执行错误命令,其它命令不受干扰
# at 16:35
at> echo hello tom
at> <EOT>
job 4 at 2016-09-22 16:35
不会在终端打印而是在email邮件中打印 /var/spool/mail/用户 当前登录的用户
时间的写法
HH:MM 18:00
midnight 子夜 午夜 0点
noon 正午 中午 中午12点
teatime (4pm) 下午茶时间 下午4点
AM 上午 at 6:00 AM /am
PM 下午 at 6:00 PM /pm 18:00
MMDDYY MM 月 DD 天 YY年
MM/DD/YY
DD.MM.YY
YYYY-MM-DD
now + count time-units now + 3 days now + 1 hours 从现在开始起一小时后
可以使用时间的单位minutes, hours, days, or weeks
today 今天
tomorrow 明天 1am tomorrow
4pm + 3 days //从今天开始三天后的下午4点
10am Jul 31 //7月31日上午10点
1am tomorrow //明天上午1点
查询计划任务
# atq
4 2016-09-22 16:35 a root
# at -l
4 2016-09-22 16:35 a root
查看计划任务的详细信息
at -c 工作号
修改
先删除在重新做新的计划任务
直接修改配置文件:/var/spool/at/..
删除
atrm 工作号
at -d 工作号
后天凌晨1:30 启动电脑
at 1:30 + 1 days
reboot
权限管理
/etc/at.deny 黑名单
# vim /etc/at.deny 进去后直接添加用户为黑名单
/etc/at.allow 白名单 本身不存在,自己创建
# /etc/init.d/atd restart 重启服务
1.只有/etc/at.deny文件 那么只有再此名单内的用户不可以使用at
2.只有/etc/at.allow文件 那么只有再此名单内的用户可以使用at
3.如果两个文件都存在,allow优先执行
4.如果两个文件都不存在,只有root账户可以使用at
5.如果两个文件都存在,但文件内没有内容,也只有root账户可以使用at