Linux基础教程之Linux的计划任务

在很多时候为了自动化管理系统,我们都会用到计划任务,比如关机,管理,备份之类的操作,我们都可以使用计划任务来完成,这样可以是管理员的工作量大大降低,而且可靠度更好。
l什么是自动服务。inux系统支持一些能够自动执行任务的服务,我们称为计划任务
at:指定一个时间执行一个任务 (适用一个或多个任务,执行一次后就不用)
cron:根据一个时间表自动执行任务 (使用一个或多个任务,周期性执行)
anacron:在一个指定时间间隔错过后自动执行任务
下面我们来分别介绍这三种服务
######################################################################
一、
at服务:安排一个任务在未来执行,需要一个atd的系统后台进程,常用指令
at:安排延时任务
atq;查询当前的等待任务
atrm:删除等待任务
具体使用方法,
例1
#at now+2 minutes  回车
>输入要执行的命令
>ctrl+d 结束输入
这个命令意思是在2分钟后执行某个命令.具体时间你可以改,单位可以改,可以用hours,months,years,weeks等.
例2
#at 18:00  dec 14  回车
>输入命令
>ctrl+d结束输入
意思是在今年的12月14日18:00运行这个命令.如果不加月和日,默认就是今天.【LINUX公社  】
 
at的控制文件
/etc/at.allow
/etc/at.deny
系统默认是有at.deny文件,如果某个用户名在这个文件里,他就不能使用at计划任务。如果有at.allow文件,allow文件先行,检查了allow明确允许,就不会检查deny。
 
二、cron服务
上面已经简单介绍了cron的一些进程和控制。下面我们来看看cron怎么实现。
制定个人计划任务
#crontab -e          编辑当前用户的cron表
#crontab -l          查看当前用户的cron表
#crontab -r          删除当前用户的cron进程
#crontab -u 用户名 -e|-l|-r 以某用户的身份来控制cron表
当使用crontab -e后,会出现一个vi文件,cron的格式是这样的。分成两列,左边是时间,右边是运行的命令。时间是由5个部分组成。
例:
* * * * *          wall hello everyone
5个星号分别代表
 minute  hour  day-of-month  month-of-year  day-of-week  ,而wall hello everyone 这是命令内容。上面的意识是每分每小时每天每月每周广播hello everyone。具体时间大家可以自己定义。如果要每两分钟发送就用*/2代替第一个*。也可以是用具体时间来表示。
当制定了cron任务后,可以用crontab -l查看,也可以到/var/spool/cron 目录查看。里面的文件名字就是对应用户的cron任务。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25733.html