Linux操作系统课件ppt--第14次 计划任务
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建crontab文件 方法一
◦ 首先利用vi创建cron作业列表文件,文件命名为cronfile1 (这个文件名随意起) ◦ 按规定格式创建好任务文件 ◦ 用命令行crontab cronfile1把它写入 “/var/spool/cron/username”文件中
◦ 用crontab –e就会自动进入vi编辑器中 ◦ 按规定格式编辑好任务:wq退出就保存为 “/var/spool/cron/username”文件
linux管理员经常要实施账户管理,创建某个新用户, 赋予此用户一定的权限,让他执行权限范围之内的工作。 假定root身份创建了用户black,要求用此身份登陆系 统后,使用cron调度完成如下任务: (1)在10月1日23:59分给用户root发送信息 "happy birthday" (2)每5分钟执行一次date命令,将结果写 /test/back.2011 (3)每周一到周五下午3点执行 /usr/bin/tea_time.sh脚本 (4)每个周六凌晨3点将/etc/的内容备份到 /test/bin目录下
方法二
提交创建好的crontab文件 crontab jackycron 该文件已经提交给cron进程,可以在/var / spool / cron目录中查看到该文件副本。 显示crontab文件 [jacky@bogon~]$crontab –l 55 17 * * 1-5 /usr/bin/wall</home/jacky/messagefile
at命令使用方法 at –l #显示所提交的作业 清楚作业 at –r Id #清除作业 at使用权限控制 etc/at.allow和/etc/at.deny文件:如果/etc/at.allow文件存 在的话,那么只有在其中列出的用户才可以使用at命令;如果 该文件不存在,那么将检查/etc/at.deny文件是否存在,在这 个文件中列出的用户均不能使用该命令。如果两个文件都不存 在,那么只有超级用户可以使用该命令;空的/etc/at.deny文 件意味着所有的用户都可以使用该命令,这也是默认状态。
编辑crontab文件 [jacky@bogon~]$crontab –e 删除crontab文件 [jacky@bogon~]$ crontab -r
控制使用crontab命令 在实际工作中,通常使用/etc/cron.allow和 /etc/cron.deny 文件控制哪些用户可以使用 crontab命令或者禁止某些用户的使用权限。root 用 户可以创建、编辑或删除这些文件。这些文件中的条 目是用户登录名,每行一个名称。 以下关于 cron.allow 文件的一个示例: root jacky tony mary
1、书写注意事项 书写crontab文件中的命令条目时,需要注意以下 事项: (1) 每个域均不能为空,必须填入,如果遇到不 知道的值使用通配符“*”表示; (2) 每个时间段均可以指定多个值,不连续的用 “,”间隔,连续的使用“-”间隔 (3) 命令部分应该给出绝对路径,避免路径问题 出现错误 (4) 用户必须具有运行所对应的命令或程序的权 限
crontab命令用于生成、编辑、显示或删除cron进 程所需要的crontab作业,一个 cron 作业是一个 命令,其运行是由cron守护程序在规则的调度间隔 执行的。其命令格式如下: crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -u [UserName]| File ] 各参数选项的作用如下: -e 使用编辑器编辑当前的crontab文件; -l 显示crontab文件的内容; -r 删除crontab文件; -u 指定用户名。
2、crontab条目示例 根据crontab命令格式及书写注意事项,给出以下示例供学习。 (1)每晚21:30重启apache服务 30 21 * * * /usr/local/etc/rc.d/lighttpd restart (2)每周一,三,五的下午3:00重新启动系统 00 15 * * 1,3,5 shutdown -r (3)每小时的10分,40分将/home/jacky目录下的 messagefile文件广播给所有用户 10,40 * * * * /usr/bin/wall</home/jacky/messagefile (4)每小时的1分执行用户目录下的bin/account这个指令: 1 * * * * bin/account (5)每年的3月和6月,2号到8号的7点20分和7点50分执行 /bin/date这个指Байду номын сангаас,并把结果添加在backlog.txt这个文件之后 20,50 7 2-8 3,6 * /bin/date >>backlog.txt
Crontab 实例2
某系统管理员每月的日常工作内容如下: 1每天上午9点和下午5点把当前在线人数存入到num文件中 2 周一至周五每两小时进行一次备份pub数据到data文件中 3 每周5下午5:30删除临时文件 4每月10号晚上11点到第二天7点之间每小时给用户wdg发送一个时间消息。 要求利用crotab命令创建cron作业列表形式自动完成以上工作 做法:首先创建cron作业列表文件,文件命名为cronfile1,内容如下: 0 9 ,17 * * * who|wc –l > num 0 */2 * * * cp pub data 30 17 * * 5 rm –rf /tmp 0 23-7/1 10 * * date|write wdg 然后执行crontab cronfile
解题步骤如下: (1)root用户创建用户black,并切换到该用户
创建文件hello.txt,文件内容为”happy birthday”,
(3)使用vi编辑文件blackcron,输入内容如下。 59 23 1 10 * /bin/write root<hello.txt */5 * * * * /bin/date>/test/back.2011 * 3 * * 1-5 ./usr/bin/tea_time.sh * 3 * * 6 /bin/cp –rp/etc /test/bin 4)执行命令提交计划任务文件
在Linux操作系统中,除了用户即时执行的命令操 作以外,还可以配置在指定的时间、指定的日期执 行预先计划好的系统管理任务(如定期备份、定期 采集系统检测数据等)。通过调度安排,指定任务 运行的时间或者场合,到时系统会自动完成这一切 工作,该过程我们称之为计划任务。通常Linux系 统默认的安装了相应的软件包,通过atd和crond这 两个系统服务实现一次性、周期性计划任务的功能, 并分别通过at、crontab命令进行计划任务的设置。
Cron是系统主要的调度进程,可以在无需人工干预 的情况下运行作业,对应该进程的Crontab命令允 许用户提交、编辑或删除相应的作业,每个用户都 可以有一个Crontab文件来保存调度信息。
crontab文件的内容是需要执行的命令和时间,该 文件中每行都包括六个域,其中前五个域是指定命 令被执行的时间,最后一个域是要被执行的命令。 每个域之间使用空格或者制表符分隔。格式如下: 分 时 日 月 星期 要运行的命令 分 一小时中的哪一分钟,取值范围0~59 时 一天中的哪个小时,取值范围0~23 日 一月中的哪一天,取值范围1~31 月 一年中的哪一月,取值范围1~12 星期 一周中的哪一天,取值范围0~6,0 表示星期天