linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux入门与提高 > 使用与技巧 >
栏目导栏
资料搜索
热门文章
·VMware Tools的安装步骤
·应用Linux下两种中文输入法
·GRUB FOR DOS 引导安装LINUX和
·linux下BT软件介绍
·Linux中用ALSA驱动声卡流程详解
·Linux 170个常见问题的详细解答
·什么是ISO文件?
·虚拟机软件vmware使用教程--使
·BabyLinux制作过程详解
·Linux挂接(mount)命令的使用方
·Linux必学的网络操作命令
·ffmpeg命令使用详解
·Linux操作系统Ifconfig命令详细
·在Linux下制作工资表
·vmware下的fedora 6的vmware t
最新文章
·CentOS5安装apache和svk使用域
·Ubuntu Linux系统Sudo命令无效
·Uboot对非Linux kernel的引导
·Fedora和XP双系统中网卡Realte
·解决Linux操作系统下部分文件乱
·双系统安装Linux之后找不到Win
·Linux操作系统上安装Flash Med
·设置Tomcat在Linux操作系统中自
·Linux操作系统下创建DBCA报错的
·Redhat Enterprise Linux磁带机
·Linux系统下用一条命令批量修改
·实用技巧:Linux下命令排列、调
·关于Linux操作系统中VI编辑器字
·Linux VI编辑器中的复制与粘贴
·Linux系统下触摸屏的简单使用和
Google
 
Redhat Linux里cron的使用方法
[ 作者:  加入时间:2007-08-14 11:31:01  来自:Linux联盟收集整理 ]
在Redhat Linux里,cron的相关配置文件:LmnLinux联盟
/etc/crontab   记录环境变量(SHELL,PATH,MAILTO,HOME)和系统预先制定的cron任务(cron.hourly/daily/weekly/monthly)。LmnLinux联盟
(当cron任务无法执行时,可以检查一下这里的环境变量和命令路径)LmnLinux联盟
/etc/cron.deny    被记录在此的用户不能提交cron任务LmnLinux联盟
/etc/cron.allow   被记录在此的用户可以提交cron任务LmnLinux联盟
(这两个文件不存在时,只有root有提交cron任务的权限)LmnLinux联盟
/etc/cron.d/,/etc/cron.daily/、cron.hourly/、/cron.monthly/   存放系统预先制定的cron任务LmnLinux联盟
/var/spool/cron/   所有用户的cron任务,与用户名相对应LmnLinux联盟
/var/log/cron   cron的日志信息
cron的配置文件称为crontab,是“cron table”的简写。cron在三个地方查找crontab文件:/etc/crontab,/etc/cron.d/,/var/spool/cron。LmnLinux联盟
crontab文件的格式:LmnLinux联盟
minute hour day month weekday [username] commandLmnLinux联盟
minute   分钟   0-59LmnLinux联盟
hour      小时   0-23LmnLinux联盟
day       日期   1-31LmnLinux联盟
month    月份   1-12LmnLinux联盟
weekday   星期几   0-6(0代表星期天)LmnLinux联盟
这些和时间相关的字段由空格分隔,每个字段必须指定一个值:LmnLinux联盟
*(星号),意味着所有的允许值LmnLinux联盟
一个整数,精确匹配LmnLinux联盟
两个被破折号分开的整数,表示范围LmnLinux联盟
多个被逗号分开的整数或范围,表示匹配列出的这些值LmnLinux联盟
/n 表示步长,范围/nLmnLinux联盟
其中“天”由day和weekday确定,都匹配LmnLinux联盟
其中:星号可以匹配所有字符;一个整数必须精确匹配;用短划线隔开的两个整数,他们匹配的是值的范围;LmnLinux联盟
用逗号隔开的整数或者范围,匹配任何被列到的值。LmnLinux联盟
例如:  45 10  *   *  1-5          上午10:45从周一到周五
不要把星号放在第一个字段,除非你想这个命令每分钟都执行。LmnLinux联盟
weekday与day若同时指定,则满足二者之一即被执行。LmnLinux联盟
例如:0,30   *  13   *  5             星期五每半小时,以及每月13号每半小时LmnLinux联盟
30   2   *   *   1   (cd /users/joe/project; make)LmnLinux联盟
 LmnLinux联盟
20   1   *  *   *  find  /tmp  -atime  +3  -exec  rm -f { } ';'LmnLinux联盟
每天凌晨1:20删除/tmp目录中的3天内未被访问的所有文件LmnLinux联盟
55  23  *   *  0-3,6    /staff/trent/bin/acct-scriptLmnLinux联盟
除了星期四、五外每天23:55 运行acct-scriptLmnLinux联盟
 LmnLinux联盟
crontab命令LmnLinux联盟
crontab [-u user] [-l|-r|-e]LmnLinux联盟
-l 列出用户的cron任务LmnLinux联盟
-r 删除cron任务LmnLinux联盟
-e 编辑cron任务LmnLinux联盟
-i 删除前提示LmnLinux联盟
注:不带参数的crontab命令将试图从标准输入读取crontab的内容。在这个模式下,如用Control-D来退出的话,会删除整个crontab内容。应使用Control-C来退出。LmnLinux联盟
crontab [-u user] filenameLmnLinux联盟
从文件导入crontab任务。LmnLinux联盟
 LmnLinux联盟
command就是要执行的sh命令,可以是任意有效的shell命令,并且不应该加引号。cron 认为command一直是到这一行的末尾,它可以包含空格或制表符。LmnLinux联盟
cron使用百分号(%)来表示command字段的换行。只有第一个百分号前的文本才会包含在实际命令中,其余行则作为该命令的标准输入。LmnLinux联盟
例如:LmnLinux联盟
echo  The time is now `date` > /dev/consoleLmnLinux联盟
write garth %Hi Garth % Remember to get a job.LmnLinux联盟
cd /etc; /bin/mail  -s "password file" evi < passwd
 LmnLinux联盟
管理crontabLmnLinux联盟
crontab  filename  将filename安装为crontab文件,它将替代crontab文件以前版本。LmnLinux联盟
crontab -e     检出一个crontab的一个副本,用编辑器打开,然后将其重新提交给crontab目录(/var/spool/cron/'username')。LmnLinux联盟
crontab  -l      将crontab中内容列在标准输出上。LmnLinux联盟
crontab -r       删除crontab。LmnLinux联盟
不带命令行的crontab将试图从他自己的标准输出中读取crontab内容。如果意外进入,不要试图使用Ctrl-D退出,那样会删除整个crontab内容,而要使用Ctrl-C退出。LmnLinux联盟
对于root,有这样的命令:crontab -u loki  -r   删除属于loki的crontab文件。
  控制使用 crontab 命令LmnLinux联盟
/etc/cron.allow   /etc/cron.deny文件控制哪一个用户可以使用 crontab 命令。root 用户可以创建、编辑或删除这些文件。这些文件的条目是用户登录名称,每个名称占一行。如果登录标识和多个的登录名称相关联,这个crontab 命令采用第一个在 /etc/passwd 文件中的登录名称,而不管当前实际使用哪一个登录名称。而且,要允许用户启动 cron 作业,应该使用 chuser 命令将 /etc/security/user 文件中的守护进程属性设置为 TRUE。
以下关于 cron.allow 文件的一个示例:LmnLinux联盟
rootLmnLinux联盟
nickLmnLinux联盟
deeLmnLinux联盟
sarahLmnLinux联盟
如果 cron.allow 文件存在,只有在文件中出现其登录名称的用户可以使用 crontab 命令。root 用户的登录名必须出现在 cron.allow 文件中,如果这个文件存在的话。系统管理员可以明确的停止一个用户,通过使用 crontab 命令,同时在cron.deny 文件中列出用户的登录名。如果只有 cron.deny 文件存在,任一名称没有出现在这个文件中的用户可以使用 crontab 命令。LmnLinux联盟
如果以下一个条件成立,用户将不能使用 crontab 命令:LmnLinux联盟
cron.allow 文件和 cron.deny 文件不存在(只允许 root 用户)。 LmnLinux联盟
cron.allow 文件存在,但用户的登录名并不列在其中。 LmnLinux联盟
cron.deny 文件存在,并且用户的登录名列在其中。LmnLinux联盟
默认情况下,所有用户都可向cron提交crontab文件。其默认的用户配置文件是空的/etc/cron.deny文件  。如果没有这两个文件的话,只有root才能提交crontab。LmnLinux联盟
重要的是,访问控制是由crontab而不是cron来实现的。如果某用户可通过其他方式把crontab秘密转移到适合目录中去,那么cron就会盲目地执行该文件中的命令。LmnLinux联盟
Linux预安装好的crontab项主要在/etc/cron.d下,如果想使某项不起作用,可以注释掉。LmnLinux联盟
另外,还有/etc/cron.daily 每天运行一次的脚本;   /etc/weekly  每周运行一次的脚本。
crond的管理LmnLinux联盟
service crond {start|stop|status|reload|restart|condrestart}LmnLinux联盟
/etc/init.d/crond {start|stop|status|reload|restart|condrestart}
常见用途:LmnLinux联盟
清理文件系统LmnLinux联盟
find  /  -xdev  -name  core -atime  +7  -exec  rm -f { } ';'LmnLinux联盟
删除一星期都没访问过的core映象文件(程序崩溃时产生的映象文件)。LmnLinux联盟
find  /  -xdev  -atime  +3  '('  -name  '#*'  -o  -name  '#*'  -o -name  '*.CKP'  -o  -name  '*~'  -o  -name  '.nfs~'  ')'  -exec   rm -f { } ';'LmnLinux联盟
删除以 #,.#或nfs开头的,或者是以 ~ 以及.CKP结尾的文件,还有3天未被访问的文件,不同类型的临时文件和编辑器的备份文件,都是这一模式的典型代表。LmnLinux联盟
cd  /tmp ;  find  .  !  -name  .  !   -name  lost+found  -type  d -mtime  +3  -exec /bin/rm  -rf  { } ';'LmnLinux联盟
递归删除/tmp下的72小时未修改的所有子目录。/tmp下的普通文件会在系统启动时被系统启动脚本删除,但有些系统不会删除目录。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Redhat Linux操作系统下常用服务概括介绍  (2007-07-17 11:28:40)
 ·重新定义Expect在Cron中的交互信息输出  (2007-06-28 13:38:47)
 ·Linux后台进程(cron和crontab)  (2007-05-25 11:52:46)
 ·RedHat Linux系统Telnet服务的开启  (2007-05-15 10:28:30)
 ·RedHat LinuxAS4下Apache2+MySQL5+Php5+Discuz5  (2007-03-30 11:51:25)
 ·Redhat Linux操作系统下常用服务介绍  (2007-03-21 11:19:06)
 ·xmanager在redhat linux as4 上的连接问题  (2007-02-13 11:03:26)
 ·RedHat Linux系统下安装KDE桌面环境  (2007-02-12 11:20:57)
 ·RedHat Linux中三个重要内核文件  (2007-02-08 09:40:23)
 ·Redhat Linux 学习笔记 (一)  (2007-01-01 13:48:34)