RHCE033--计划任务
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-09
|
一、Linux的计划任务
Linux系统需要频繁定期执行的任务包括:转移日志文件以避免装满文件系统,
备份数据库以及连接时间服务器来执行系统时间同步等等.同时为了降低系统
管理员的工作量,通过Linux的计划任务就可以实现这些需求.
Linux系统支持一些能够自动执行任务的服务我们称其为计划任务:
at:指定一个时间执行一个任务
cron:根据一个时间表自动执行任务
anacron:在一个指定时间间隔错过后自动执行任务(不作具体介绍)
二、at功能介绍
at服务:安排一个任务在未来执行
at服务需要系统后台有一个atd进程
[root@51cto ~]# service atd start
启动 atd: [确定] //启动at服务
常用指令
- at:安排延时任务
at命令的写法非常灵活:
at 18:00pm July 9
at 6 pm Monday
at 2:00
at noon 5 minutes
回车后可以在之后的at>提示符下输入任务指令,完成后Ctrl+D存盘退出.
[root@51cto ~]# at now //立刻执行的计划任务
at> echo welcome to 51cto >/root/huihui //重定向内容
at> <EOT> //按Ctrl+D保存退出
job 9 at 2010-10-01 06:08
[root@51cto ~]# cat /root/huihui
welcome to 51cto
[root@51cto ~]# clock
2010年10月01日 星期五 06时09分31秒 -0.106026 seconds
[root@51cto ~]# at 06:11 //制定06:11执行的计划任务
at> echo welcome to blog.51cto.com >>/root/huihui //追加内容
at> <EOT> //按Ctrl+D保存退出
job 10 at 2010-10-01 06:11
[root@51cto ~]# date
2010年 10月 01日 星期五 06:10:51 PDT
[root@51cto ~]# cat /root/huihui
welcome to 51cto
welcome to blog.51cto.com
[root@51cto ~]# date
2010年 10月 01日 星期五 06:11:05 PDT
- atq:查询当前的等待任务
[root@51cto ~]# date //显示当前时间
2010年 10月 01日 星期五 06:17:14 PDT
[root@51cto ~]# at 07:00
at> /bin/date //7点执行/bin/date
at> <EOT>
job 11 at 2010-10-01 07:00
[root@51cto ~]# atq //查询当前的等待任务
11 2010-10-01 07:00 a root
- atrm:删除等待任务
[root@51cto ~]# atrm 11 //删除上面的等待任务
[root@51cto ~]# atq //查询当前的等待任务,没显示
- 利用/etc/at.allow和/etc/at.deny这两个文件可以限制用户对at的使用,在Linux中
只有写在/etc/at.allow文件中的用户才可以使用at(即使不出现在/etc/at.deny中)
三、cron功能介绍
cron是一个可以用来根据时间、日期、月份、星期的组合来调度重复任务执行的守护进程
要使用cron服务,需要vixie-cron RPM包,运行crond服务即可
[root@51cto ~]# rpm -q vixie-cron //查看是否已经安装好软件包,默认装好了
vixie-cron-4.1-76.el5
[root@51cto ~]# service crond status //查看此服务是否启用
crond (pid 3121) 正在运行…
cron服务是通过crontab命令来设定的,crontab -e是针对用户的cron服务设计的,如果
是由系统执行的计划任务,则不需要用crontab -e而只要编辑/etc/crontab这个文件.
cron服务每分钟不仅要读一次/var/spool/cron内的文件,要读一次/etc/crontab,因此
可以通过该文件运用cron服务.
注意:用crontab配置针对的是某个用户的任务,而编辑/etc/crontab则针对的是系统的任务:
[root@51cto ~]# cat /etc/crontab //查看/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,那么该数据作为mail发给root
HOME=/ //使用者运行的路径,这里是根目录
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|