RH131Linux管理笔记四Linux的计划任务.docx

上传人:b****3 文档编号:10484608 上传时间:2023-05-26 格式:DOCX 页数:12 大小:372.83KB
下载 相关 举报
RH131Linux管理笔记四Linux的计划任务.docx_第1页
第1页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第2页
第2页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第3页
第3页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第4页
第4页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第5页
第5页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第6页
第6页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第7页
第7页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第8页
第8页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第9页
第9页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第10页
第10页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第11页
第11页 / 共12页
RH131Linux管理笔记四Linux的计划任务.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

RH131Linux管理笔记四Linux的计划任务.docx

《RH131Linux管理笔记四Linux的计划任务.docx》由会员分享,可在线阅读,更多相关《RH131Linux管理笔记四Linux的计划任务.docx(12页珍藏版)》请在冰点文库上搜索。

RH131Linux管理笔记四Linux的计划任务.docx

RH131Linux管理笔记四Linux的计划任务

RHCE课程-RH131Linux管理笔记四-Linux的计划任务

Linux的计划任务

在很多时候为了自动化管理系统,我们都会用到计划任务,比如关机,管理,备份之类的操作,我们都可以使用计划任务来完成,这样可以是管理员的工作量大大降低,而且可靠度更好。

linux系统支持一些能够自动执行任务的服务,我们称为计划任务。

LINUX有三种计划任务:

at:

指定一个时间执行一个任务(适用一个或多个任务,执行一次后就不用)

cron:

根据一个时间表自动执行任务(使用一个或多个任务,周期性执行)

系统级别的计划任务及其扩展anacron:

在一个指定时间间隔错过后自动执行任务

######################################################################

下面我们来分别介绍这三种服务

一、at服务:

安排一个任务在未来执行,需要一个atd的系统后台进程

常用指令:

at:

安排延时任务

具体使用方法:

例1

#atnow+2minutes 回车

>输入要执行的命令

>ctrl+d结束输入

是ctrl+d中断输入,这个命令意思是发送一个广播内容是Hello51ctoblog.具体时间你可以改,单位可以改,可以用hours,months,years,weeks等.

例2我们还可以跟具体时间

#at16:

50 dec17  回车

>输入命令

>ctrl+d结束输入

意思是在今年的12月17日16:

50运行这个命令.如果不加月和日,默认就是今天.

atq;查询当前的等待任务

用atq来查询,已经运行的任务,就消失了。

这就是at计划任务的重点,只运行一次

atrm:

删除等待任务

启动计划任务后,如果不想启动设定好的计划任务可以使用atrm命令删除。

 

格式:

atrm任务号 

命令后面跟计划任务编号,如果不跟,就会删除这个用户所有的计划任务。

 

例3

atrm10//删除计划任务10 

atq//查看计划任务是否删除

 

还可以进入到/var/spool/at目录里把计划任务删除,计划任务的文件都保存在该目录里,可以用rm-f文件名来删除(以文件的形式删除计划任务,因为计划任务是以文件形式保存在该目录中) 

例4:

#cd/var/spool/at//进入到/var/spool/at目录中 

ls//显示目录中所有文件 

rm-fa0000b0138b19c//删除计划任务

 

在通常情况下,超级用户都可以使用这个命令。

对于其他用户来说,能否可以使用就取决于两个文件:

/etc/at.allow和/etc/at.deny。

at命令是可以基于用户来控制的,我们可以明确指定哪些用户可以使用at计划任务,哪些用户不可以使用at计划任务。

at的控制文件

/etc/at.allow 

/etc/at.deny

系统默认是有at.deny文件,如果某个用户名在这个文件里,他就不能使用at计划任务。

如果有at.allow文件,allow文件先行,检查了allow明确允许,就不会检查deny。

如果你要让哪个用户不能使用计划任务,就直接把他的用户名写进去就可以了,一排只能写一个。

二、cron服务

上面已经简单介绍了cron的一些进程和控制。

下面我们来看看cron怎么实现。

相对与at,cron的优点就是能够周期性的执行某个命令,at却只能执行一次

cron的后台进程名字是crond,cron也是systemV的服务,所以我们可以servicecrondstart|stop 来启动和关闭此服务,也可以使用chkconfig或者ntsysv来选择cron服务的默认开启,这些命令在以前我们都讲过的

我们先简单介绍下cron的使用命令,然后来在结合实例讲解

制定个人计划任务

#crontab-e             编辑当前用户的cron表

#crontab-l              查看当前用户的cron表

#crontab-r             删除当前用户的cron进程

#crontab-u用户名 以某用户的身份来控制cron表

还有个重要的知识点,就是当用户的计划任务建立后是存放在var/spool/cron这个目录

当使用crontab-e编辑当前用户的cron表后,会出现一个vi文件,cron的格式是这样的。

分成两列,左边是时间,右边是运行的命令。

时间是由5个部分组成。

例:

*****         wallhelloeveryone

5个星号分别代表:

minutehourday-of-monthmonth-of-yearday-of-week ,而wallhelloeveryone这是命令内容。

上面的意识是每分每小时每天每月每周广播helloeveryone。

具体时间大家可以自己定义。

如果要每两分钟发送就用*/2代替第一个*。

也可以是用具体时间来表示。

我们使用crontab-e编辑当前用户的cron表

 

打开后里面是空白的,什么都没有

现在我们开始编辑, *****    ls/var/spool/cron前面是5个星号,使用空格分隔,然后按下TAB键,输入你要执行的命令,大家也往自己的列表里写入这些内容,然后我来讲解

分钟小时日月周[用户名]命令

这里的5个星号就代表的时间和日期:

第一个*星号代表个小时的第几分钟:

minute范围是从0-59

第二个*星号代表每天的第几个小时:

hour范围是从0-23

第三个*星号代表每月的第几个日:

day-of-month范围从1-31

第四个*星号代表没年的第几个月:

month-of-year范围从1-12

第五个*星号代表每周的星期几:

day-of-week范围从0-6,其中0表示星期日

用户名:

也就是执行程序要通过哪个用户来执行,这个一般可以省略;

命令:

执行的命令和参数。

如果我要表示9月10日25分执行lsvar/spool/cron任务怎么表示?

25*109*        lsvar/spool/cron

由于我没表示小时,所以就只能里面为每小时

下面还有一个题目,我要在每周日,每分钟执行wallHello这个命令,时间怎么表示?

*/1***0wallHello

*/  表示每多少分钟执行一次哈~ 

保存退出哈~然后重新启动下crond,保证你的cron是启动的

当制定了cron任务后,可以用crontab-l查看

也可以到/var/spool/cron/目录查看。

里面的文件名字就是对应用户的cron任务。

ls/var/spool/cron/

/var/spool/cron/root文件里面的内容就是刚才编辑的内容哈,我们看下:

vim/var/spool/cron/root

正常的话,我们应该都看到crontab的效果了

这样我们就可以把日常管理通过这个计划任务来操作。

现在我们可以使用crontab-r 来删除当前用户的cron

三、系统级别的计划任务及其扩展anacrontab

这个是系统设置好了,清理系统垃圾或者是自动执行某些脚本的系统任务,一般我们做了解就行了,不要更改

配置文件是/etc/conrtab 

我们看一下哈:

vim/etc/crontab

SHELL:

就是运行计划任务的解释器,默认是bash 

PATH:

执行命令的环境变量

MAILTO:

计划任务的出发者用户

HOME:

家目录为/

run-parts是一个脚本,在/usr/bin/run-parts,作用是执行一个目录下的所有脚本/程序。

 

run-parts/etc/cron.hourly执行目录/etc/cron.hourly/之下的所有脚本/程序.

run-parts下面就是运行的命令

每小时第一分钟以root运行/etc/cron.hourly 

下面我就不用讲解了,大家都能看懂了,在不同的时间运行相对应的脚本文件

vim/etc/crontab与crontab-e写入的定时运行有什么区别?

 

vim/etc/crontab:

是系统级别定义的crontab,/etc/crontab的所有者和组都是root 

crontab-e:

是用户自定义的crontab,是所有的用户都可以写入的 

两种方法记录的位置不一样,一个在/etc/另一个在/var/里面。

都被cron服务调用哈~

如果系统在以上说的时间没有开机怎么办?

那么这个脚本不就是不能执行了?

设计者早就想到了这个问题,所以就有了cron服务的扩展,目的就是为了防止非24小时开机的计算机遗漏的守护任务,anacrontab就是系统计划任务的扩展文件:

在一个指定时间间隔错过后自动执行任务

他的格式是这样的:

period delay job-identifier command 

period—命令执行的频率(天数) 

delay—延迟时间(分钟) 

job-identifier—任务的描述,用在anacron的消息中,并作为作业时间戳文件的名称,只能包括非空白的字符(除斜线外)。

 

command—要执行的命令

第一行的意思是:

每天开机65分钟后就检查cron.daily文件是否被执行了,如果今天没有被执行就执行他

第二行的意思是:

每隔7天开机后70分钟检查cron.weekly文件是否被执行了,如果一周内没有被执行就执行他

第三行的意思也差不多,大家可以看得懂哈~

下面说说关于cron服务的控制 

和at差不多,就是/etc/cron.deny这个配置文件来控制

里面写入要禁止使用cron用户的名字,一行一个就OK了

好了,计划任务就这样,下期进入远程访问控制哈~~~ @^_^@

########################################################

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2