收藏 分享(赏)

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

上传人:hskm5268 文档编号:7058579 上传时间:2019-05-04 格式:DOC 页数:10 大小:431.50KB
下载 相关 举报
RH131Linux管理笔记四-Linux的计划任务.doc_第1页
第1页 / 共10页
RH131Linux管理笔记四-Linux的计划任务.doc_第2页
第2页 / 共10页
RH131Linux管理笔记四-Linux的计划任务.doc_第3页
第3页 / 共10页
RH131Linux管理笔记四-Linux的计划任务.doc_第4页
第4页 / 共10页
RH131Linux管理笔记四-Linux的计划任务.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、RH131Linux 管理笔记四-Linux 的计划任务Linux 的计划任务在很多时候为了自动化管理系统,我们都会用到计划任务,比如关机,管理,备份之类的操作,我们都可以使用计划任务来完成,这样可以是管理员的工作量大大降低,而且可靠度更好。linux 系统支持一些能够自动执行任务的服务,我们称为计划任务。LINUX 有三种计划任务:at:指定一个时间执行一个任务 (适用一个或多个任务,执行一次后就不用)cron:根据一个时间表自动执行任务 (使用一个或多个任务,周期性执行)系统级别的计划任务及其扩展 anacron:在一个指定时间间隔错过后自动执行任务#下面我们来分别介绍这三种服务一、at

2、服务:安排一个任务在未来执行,需要一个 atd 的系统后台进程常用指令:at:安排延时任务具体使用方法: 例 1 #at now+2 minutes 回车输入要执行的命令ctrl+d 结束输入是 ctrl+d 中断输入,这个命令意思是发送一个广播内容是 Hello 51ctoblog.具体时间你可以改,单位可以改,可以用 hours,months,years,weeks等.例 2 我们还可以跟具体时间#at 16:50 dec 17 回车输入命令ctrl+d 结束输入意思是在今年的 12 月 17 日 16:50 运行这个命令.如果不加月和日,默认就是今天.atq;查询当前的等待任务 用 at

3、q 来查询,已经运行的任务,就消失了。这就是 at 计划任务的重点,只运行一次atrm:删除等待任务启动计划任务后,如果不想启动设定好的计划任务可以使用 atrm 命令删除。 格式:atrm 任务号 命令后面跟计划任务编号,如果不跟,就会删除这个用户所有的计划任务。 例 3atrm 10 /删除计划任务 10 atq /查看计划任务是否删除还可以进入到/var/spool/at 目录里把计划任务删除,计划任务的文件都保存在该目录里,可以用 rm -f 文件名来删除(以文件的形式删除计划任务,因为计划任务是以文件形式保存在该目录中) 例 4:#cd /var/spool/at /进入到/var/

4、spool/at 目录中 ls /显示目录中所有文件 rm -f a0000b0138b19c /删除计划任务在通常情况下,超级用户都可以使用这个命令。对于其他用户来说,能否可以使用就取决于两个文件:/etc/at.allow 和/etc/at.deny。at 命令是可以基于用户来控制的,我们可以明确指定哪些用户可以使用 at 计划任务,哪些用户不可以使用 at 计划任务。at 的控制文件/etc/at.allow /etc/at.deny 系统默认是有 at.deny 文件,如果某个用户名在这个文件里,他就不能使用 at计划任务。如果有 at.allow 文件,allow 文件先行,检查了

5、allow 明确允许,就不会检查 deny。如果你要让哪个用户不能使用计划任务,就直接把他的用户名写进去就可以了,一排只能写一个。二、cron 服务上面已经简单介绍了 cron 的一些进程和控制。下面我们来看看 cron 怎么实现。相对与 at,cron 的优点就是能够周期性的执行某个命令,at 却只能执行一次cron 的后台进程名字是 crond ,cron 也是 system V 的服务,所以我们可以service crond start|stop 来启动和关闭此服务,也可以使用 chkconfig 或者ntsysv 来选择 cron 服务的默认开启,这些命令在以前我们都讲过的我们先简单介

6、绍下 cron 的使用命令,然后来在结合实例讲解制定个人计划任务#crontab -e 编辑当前用户的 cron 表#crontab -l 查看当前用户的 cron 表#crontab -r 删除当前用户的 cron 进程#crontab -u 用户名 以某用户的身份来控制 cron 表还有个重要的知识点,就是当用户的计划任务建立后是存放在 var/spool/cron这个目录当使用 crontab -e 编辑当前用户的 cron 表后,会出现一个 vi 文件,cron 的格式是这样的。分成两列,左边是时间,右边是运行的命令。时间是由 5 个部分组成。例:* * * * * wall hell

7、o everyone5 个星号分别代表:minute hour day-of-month month-of-year day-of-week ,而 wall hello everyone 这是命令内容。上面的意识是每分每小时每天每月每周广播 hello everyone。具体时间大家可以自己定义。如果要每两分钟发送就用*/2 代替第一个*。也可以是用具体时间来表示。我们使用 crontab -e 编辑当前用户的 cron 表打开后里面是空白的,什么都没有 现在我们开始编辑, * * * * * ls /var/spool/cron 前面是 5 个星号,使用空格分隔,然后按下 TAB 键,输入你

8、要执行的命令,大家也往自己的列表里写入这些内容,然后我来讲解分钟 小时 日 月 周 用户名 命令这里的 5 个星号就代表的时间和日期:第一个*星号代表个小时的第几分钟:minute 范围是从 0-59第二个*星号代表每天的第几个小时:hour 范围是从 0-23第三个*星号代表每月的第几个日:day-of-month 范围从 1-31第四个*星号代表没年的第几个月:month-of-year 范围从 1-12第五个*星号代表每周的星期几:day-of-week 范围从 0-6,其中 0 表示星期日用户名:也就是执行程序要通过哪个用户来执行,这个一般可以省略;命令:执行的命令和参数。如果我要表示

9、 9 月 10 日 25 分执行 ls var/spool/cron 任务怎么表示? 25 * 10 9 * ls var/spool/cron由于我没表示小时,所以就只能里面为每小时下面还有一个题目,我要在每周日,每分钟执行 wall Hello 这个命令,时间怎么表示?*/1 * * * 0 wall Hello */ 表示每多少分钟执行一次哈 保存退出哈然后重新启动下 crond,保证你的 cron 是启动的当制定了 cron 任务后,可以用 crontab -l 查看也可以到/var/spool/cron/目录查看。里面的文件名字就是对应用户的 cron 任务。ls /var/spo

10、ol/cron/var/spool/cron/root 文件里面的内容就是刚才编辑的内容哈,我们看下:vim /var/spool/cron/root正常的话,我们应该都看到 crontab 的效果了这样我们就可以把日常管理通过这个计划任务来操作。现在我们可以使用 crontab -r 来删除当前用户的 cron三、系统级别的计划任务及其扩展 anacrontab这个是系统设置好了,清理系统垃圾或者是自动执行某些脚本的系统任务,一般我们做了解就行了,不要更改配置文件是/etc/conrtab 我们看一下哈:vim /etc/crontabSHELL:就是运行计划任务的解释器,默认是 bash

11、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/cron

12、tab:是系统级别定义的 crontab,/etc/crontab 的所有者和组都是 root crontab -e :是用户自定义的 crontab,是所有的用户都可以写入的 两种方法记录的位置不一样,一个在/etc/ 另一个在/var/ 里面。都被 cron 服务调用哈如果系统在以上说的时间没有开机怎么办?那么这个脚本不就是不能执行了?设计者早就想到了这个问题,所以就有了 cron 服务的扩展,目的就是为了防止非 24 小时开机的计算机遗漏的守护任务,anacrontab 就是系统计划任务的扩展文件:在一个指定时间间隔错过后自动执行任务他的格式是这样的:period delay job-i

13、dentifier command period 命令执行的频率(天数) delay 延迟时间(分钟) job-identifier 任务的描述,用在 anacron 的消息中,并作为作业时间戳文件的名称,只能包括非空白的字符(除斜线外)。 command 要执行的命令 第一行的意思是:每天开机 65 分钟后就检查 cron.daily 文件是否被执行了,如果今天没有被执行就执行他 第二行的意思是:每隔 7 天开机后 70 分钟检查 cron.weekly 文件是否被执行了,如果一周内没有被执行就执行他第三行的意思也差不多,大家可以看得懂哈下面说说关于 cron 服务的控制 和 at 差不多,就是/etc/cron.deny 这个配置文件来控制 里面写入要禁止使用 cron 用户的名字,一行一个就 OK 了 好了,计划任务就这样,下期进入远程访问控制哈 _#

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报