时间:2019年02月12日 | 作者 : liuhui | 分类 : Linux | 浏览: 6680次 | 评论 0 人
阿里云限量代金券 | 此广告位出租25元/月 |
linux系统的定时任务(包括指令执行和脚本执行)
linux的计划任务分临时计划任务和周期性计划任务,之前我有发过关于周期性计划任务cron的文章,本文着重介绍一下临时计划任务(一次性计划任务)的使用。
1、安装命令
系统要求:Debian、Ubuntu、CentOS
#CentOS系统
yum install at -y
#Debian/Ubuntu系统
apt-get install at
2、at指令的定时和延时任务:
at now+1min #一分钟后执行 at 时间 #指定时间执行
at>touch file
ctrl+d #1分钟以后执行建立文件的操作(ctrl+d可以看到任务编号)
对/root目录进行监控,以便进行对定时任务的查看:watch -n 1 ls /root
定时任务:在01:31时执行任务,输入at 01:31执行指令后ctrl+d可以建立后台任务
可以在目录监控界面里看到文件已经被建立,任务已经准时执行
3、时间的写法
HH:MM //18:30
midnight //0点 (午夜)
noon //12点 (中午)
teatime //16点(下午4点)
AM 或 PM后缀指定一天的上午或下午。 //at 2:00 pm
MMDDYY 、 MM/DD/YY 或 DD.MM.YY
now + 计数 时间单位(minutes 、hours 、 days 或 weeks)
eg. at now + 3 hours(从现在开始起三个小时后)
eg. at 4pm + 3 days //三天以后的下午4点执行一个任务
at 2am + tomorrom //明天上午2点
at 10am Jul 31 //7月31日上午10点
案例一:凌晨2点备份/etc目录 到 /tmp格式为 etc.tar.xz
at 02:00
at> tar cvJf /tmp/etc.tar.xz /etc
at> ctrl+d
4、查看即将执行的任务时间
atq
at -l
5、查看即将进行的任务的详细信息
at -c 编号
例如at -c 3 可以查看任务3的内容,任务内容会在指令结果的最后面显示
6、取消即将执行的任务
atrm 编号
at -d 编号
at -r 编号
案例二:脚本方式创建at计划任务.
echo 'ls;date;pwd' | at 3:00 #用管道符将任务传给at命令
案例三:用at将指定文件(-f 文件名)中的命令设为计划任务.
#首先,创建命令文件
vim /opt/aplan #添加如下内容
ls
date
pwd
tar -czvf /tmp/etc.tar.gz /etc
7、at权限管理、安全
/etc/at.allow 白名单:只允许在此名单内的用户使用at(此文件本身不存在)
/etc/at.deny 黑名单:在此名单内的用户不可以使用at
注:当两个文件都不存在,只有root用户可以使用at
当两个文件都存在,allow优先执行
8、at服务管理:
查at软件是否已安装:pm -q at
查at的文件列表:rpm -ql at
查at的配置文件列表:rpm -qc at
查at服务状态:systemctl status atd 或 service atd status
重启at服务:systemctl restart atd 或 service atd restart
关闭at服务:systemctl stop atd 或 service atd stop
开机不启动at服务:systemctl disable atd 或 chkconfig atd off
开机启动at服务:systemctl enable atd 或 chkconfig atd on
at的其他文件:
计划文件清单:ls /var/spool/at/* 用cat可以看这些文件
推荐您阅读更多有关于“”的文章
Powered By Z-Blogphp
分享:
支付宝
微信