任务计划命令 linux,linux下任务计划(at,batch,cron)相关知识总结

在linux实现任务计划的命令有三个:at,batch,crond

at:在未来的某个时间点定期执行一次任务(可以是一条或者多条命令组合,可以是一个脚本)

at的使用非常方便灵活,at后面可以跟各种各样的时间格式,如:

at 18:00pm July 9

at 6 pm Monday

at 2:00

at noon + 5 minutes(具体可以使用的时间格式可以#man at来查看文档)

在命令行输入上面任意一种格式之后,回车可以在之后的at>提示符下输入任务指令,完成后Ctrl+D存盘退出。例如:

Atnow+5min//设定任务计划时间

At> //命令输入处

At>//命令输入处

Ctrl+d//提交计划

另外at可以使用的options还有:

#at -d作业号//删除计划任务

#at-l//列出计划任务

默认情况下,任何用户都可以使用at服务,但这样是不安全的。

如果系统中存在at.allow,则只有列在文件中的用户才可以使用at服务。

如果系统中存在at.deny,则列在文件中的用户不可以使用at服务,其他用户可以

总的来说at在实际使用的过程中使用的不是很多,所以这里不做过多介绍

..................................................................

batch :跟at一样也是定期执行的命令,使用方法也跟at相同,但是不同的是batch不需要指定时间,因为它会自动在系统负载比较低的时候执行(平均负载小于0.8的时候)

...................................................................................................................

crond :它不同于以上命令的原因就是它是一个“周期性”执行的命令,就是循环执行。另外crond是一个服务,所以我们在使用之前要检查其是否正在运行

#service crondstatus//检测crond服务是否运行的命令

crond分为两类:

系统cronà跟用户无关的操作系统级别的cron,它是为了维护系统能够正常运行,它所有的任务都定义在/etc/crontab文件当中

格式:  *    *    * *   *   *    *

*表示:min :0-59

hour:0-23

day:1-31

month:1-21

week:0-7

username:执行计划任务的用户         //这一点是跟用户cron不一样的地方

command:命令

用户cronà任务的定义在/var/spool/cron/USERNAME(文件名将会以用户的名字命名)

格式: *   *   * *   *  *

*代表:min :0-59

hour:0-23

day:1-31

month:1-21

week:0-7

command:命令

crond计划任务下的命令有:

crontab –e //开始编辑定义自己的任务执行计划

crond-r//删除自己定义的执行计划

crond-l//列出定义的计划任务

crond-eredhat //帮助redhat用户制定任务计划

还有一点要注意的是:crond计划任务里面的命令有时候可能不会执行,因为这个文件里的环境变量PATH跟系统PATH不太一样,它的PATH的默认值为PATH=/sbin:/bin:/usr/sbin:/usr/bin,所以这就造成很多命令不能使用,所以解决的办法有两个,可以自己设定PATH环境变量,也可以用命令的绝对路径,比如ls我们可以使用:

/bin/ls  -l  /etc/

下面是具体的例子:

比如:我们要在每月的3号两点十分自动执行ls  –al   /etc/

#crond   -e                                       //开始编辑计划任务

10  02  03  *  *ls –al /etc/                //这是在crond  -e 打开文件后写入的内容

以下是几个特殊符号在crond中的使用:"/"  ","  "-"

"/"表示“每”的意思例如:

*/5 * * * * /bin/ls –al /etc/                    //表示没五分钟执行一次命令

10  */3  *  *  *   date//每三个小时执行一次命令

","表示离散时间点

20,50  *  *  *  *  data//每个小时的第20分钟和第50分钟执行一次命令

"-"表示“到”的意思,用于时间段

00  00 *   *  1-5  data//表示每周一到周五的凌晨时间执行命令

但是crond有一个缺点就是它是为服务器设计的命令,所以它默认就是认为系统会7X24小时开机,但是实际情况我们如果在笔记本上装linux操作系统不可能不关机,所以如果在计划的时间点我们关机了,那么这个任务就不会再执行了,因此为了弥补这个缺陷,产生了anacron命令

.............................................................................

要使用 anacron 服务,你必须安装了 anacron RPM 软件包,而且 anacron服务必须在运行。要判定该软件包是否被安装,使用 rpm -q anacron 命令。要判定该服务是否在运行,使用 /sbin/service anacron status命令。

配置 anacron 任务

anacron 任务被列在配置文件 /etc/anacrontab 中。文件中的每一行都代表一项任务,格式是:

格式:Period delayjob-identifiercommand

解释:Period 超出时间

delay开机后延迟多久执行

job-identifier任务描述

command      要执行的命令

对于每项任务,anacron 先判定该任务是否已在配置文件的 period字段中指定的期间内被执行了。如果它在给定期间内还没有被执行,anacron 会等待 delay 字段中指定的分钟数,然后执行 command字段中指定的命令。

要启动 anacron 服务,使用 /sbin/service anacron start 命令。要停止该服务,使用 /sbin/service anacron stop 命令。推荐你在引导时启动该服务。

.....................................................linux 下计划任务的相关命令介绍完毕 ok!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值