资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
使用 crontab 命令安排自动运行的进程任务功能:使用 crontab 命令装载 cron 进程所需要的 crontab 文件。格式:格式 1:crontab -u user -l|-r|-e格式 2:crontab -u user filename其中:-u user: 修改指定用户的 crontab 文件。如果不指定该选项,crontab 将默认为是操作者本人的 crontab。-l:在标 准输出上 显示当前的 crontab 任务。-r:删除当前的 crontab 任务 。-e:使用环境变量指定的编辑器编辑 crontab 文件。当结束编辑离开时,编辑后的文件将自动安装。filename:是一个 crontab 文件的来源文件crontab 文件的来源文件crontab 文件的来源文件存在的形式一个符合语法规则的纯文本文件,使用第 2 种格式的 crontab 命令装载使用第 2 种格式的 crontab 命令时,它是一个文本编辑 器(如 vi)的临时文件,编辑结束自动装载crontab 文件的来源文件的格式每一行格式为:minute hour day-of-month month-of-year day-of-week username commands 其中:minute:一小时中的哪一分 钟(059)hour:一天中的哪个小时( 023)day-of-month:一月中的哪一天(131)month-of-year:一年中的哪一月( 112)day-of-week:一周中的哪一天( 06)username:以指定的用户身份 执行 commandscommands:执行的命令(可以是多行命令或者是脚本调用)五个时间字段的语法说明不能为空,可以使用统配符*表示任何时间。可以指定多个值,它们之间用逗号间隔。例如:1,3,7。可以指定时间段,用减号间隔。例如:0-6。可以用/n 表示 步长。例如: 8-18/2 表示时间序列 8,10,12,14,16,18Linux 下 crontab 命令的用法 任务调度的 crond 常驻命令crond 是 linux 用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond 命令每分锺会定期检查是否有要执 行的工作,如果有要执行的工作便会自动执行该工作。而 linux 任务调度的工作主要分为以下两 类:1、系统执行的工作:系 统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置 Crontab 是 UNIX 系统下的定 时任务触发器,其使用者的权限记载在下列两个文件中: 文件 含义 /etc/cron.deny 该文件中所列的用户不允许使用 Crontab 命令 /etc/cron.allow 该文件中所列的用户允许使用 Crontab 命令 /var/spool/cron/ 是所有用户的 crontab 文件 /var/spool/cron/crontabs/var/spool/cron/crontabsCrontab 命令的格式为:crontab l|-r|-e|-i username,其参数含 义如表一: 参数名称 含义 示例 -l 显示用户的 Crontab 文件的内容 crontabl l -i 删除用户的 Crontab 文件前给提示 crontabl -ri -r 从 Crontab 目录中删除用户的 Crontab 文件 crontabl -r -e 编辑用户的 Crontab 文件 crontabl -e 用户所建立的 Crontab 文件存于/var/spool/cron 中,其文件名与用户名一致。它的格式共分为六段,前五段为时间设定段,第六段 为所要执行的命令段,格式如下:* * * * * 其时间段的含义如表二: 段 含义 取值范围 第一段 代表分钟 059 第二段 代表小时 023 第三段 代表日期 131 第四段 代表月份 112 第五段 代表星期几,0 代表星期日 06 名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab -u user file crontab -u user -l | -r | -e 说明 : crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指 设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示 设定自己的时程表。 餐数 : -e : 执 行文字 编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字 编辑器(比如说 setenv VISUAL joe) -r : 删除目前的时程表 -l : 列出目前的时程表 时程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分 钟, f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其 馀类推 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间 内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 当 f1 为 */n 时表示每 n 分 钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 当 f1 为 a, b, c,. 时表示第 a, b, c,. 分钟要执行,f2 为 a, b, c,. 时表示第 a, b, c.个小时要执行,其馀类推 使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 例子 : 每月每天每小时的第 0 分钟执行一次 /bin/ls : 0 7 * * * /bin/ls 在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup : 0 6-12/3 * 12 * /usr/bin/backup 周一到周五每天下午 5:00 寄一封信给 alexdomain.name : 0 17 * * 1-5 mail -s hi alexdomain.name /dev/null 2&1 即可 例:如果用户的 Crontab 文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29 显示its dinner time示例(创 建一个 cron 全过程,每分钟都会在 test.txt 里输入当前时间): 1. 以普通用户登录 linux 系统( 我用的是 CentOS4.1) 2. $crontab e说明:系统默认的编辑器是 VIM,如果不是请加上以下 shell:$EDITOR=vi$export EDITOR 3. 输 入”*/1 * * * * date $HOME/test.txt”,save and exit VIM 4. $su root 5. $cd /etc/init.d 6. ./crond restart 下面看看看几个具体的例子: 0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次 apache 50 7 * * * /sbin/service sshd start 意思是每天 7:50 开启 ssh 服务 50 22 * * * /sbin/service sshd stop 意思是每天 22:50 关闭 ssh 服务 0 0 1,15 * * fsck /home 每月 1 号和 15 号检查/home 磁盘 1 * * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup 这个文件 00 03 * * 1-5 find /home *.xxx -mtime +4 -exec rm ; 每周一至周五 3 点钟,在目录/home 中,查找文件名为*.xxx 的文件,并 删除 4 天前的文件。 30 6 */10 * * ls 意思是每 月的 1、11、21、31 日是的 6:30 执行一次 ls 命令
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号