shell后台定期职务crontab的用法,crontab使用验证及

作者: 操作系统  发布:2019-09-06

crontab的用法
 
语法:crontab[-u username]|-l|-r|-e|-v
-u:指定crontab job的用户
-l:列出当前crontab的job
-e:使用$EDITOR编辑crontab job
-v:列出当前crontab job的状态,有的shell可能不支持-v
 
crontab file填写格式:
每一行对应一个cron job
每一行分为六个部分,每一部分用空格隔开,同一个部分用逗号隔开
minute  hour  day_of_month  month  weekday  command
前五个域中使用*,则表示所有的时间点
minute:0-59
hour:0-23,0代表零点
day_of_month:1-31
month:1-12
weekday:0-6,0代表星期天,1-6代表星期一到星期六
command:需要执行的脚本或者命令
 
$ cat test_cron.sh
#!/bin/sh      
#将系统时间输出到文件time.txt                                                                                                              
echo `date`>>time.txt
#查看当前的cronjob,系统提示没用用户habao的cronjob
$ crontab -l
no crontab for habao
 
#添加cronjob
$ crontab –e
#没隔一分钟执行一次
#显示当前系统时间#写在crontab文件中可方便查看定时作业的用途
* * * * * /home/habao/test_cron.sh
 
#再查看当前cronjob
$ crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.3285 installed on Thu Sep 22 16:28:40 2011)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
#显示当前系统时间
* * * * * /home/habao/test_cron.sh
 
#查看输出文件time.txt
$ cat time.txt
Thu Sep 22 16:33:00 CST 2011
Thu Sep 22 16:34:00 CST 2011
Thu Sep 22 16:35:00 CST 2011
Thu Sep 22 16:36:00 CST 2011
Thu Sep 22 16:37:00 CST 2011
Thu Sep 22 16:38:00 CST 2011
Thu Sep 22 16:39:00 CST 2011
 
若要修改当前cronjob则crontab –e
若要删除当前cronjob则crontab –r
                                                                                                                      
 
作者“To_Be_Monster_Of_IT”

/*********************************************************************
 * Author  : Samson
 * Date    : 08/08/2012
 * Test platform:
 *               GNU Linux version 2.6.29.4
 *               gcc version 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC) 
 * *******************************************************************/

语法:crontab[-u username]|-l|-r|-e|-v -u:指定crontab job的用户 -l:列出当前crontab的job -e:使用$EDITOR编辑crontab job -v:列出当前cront...

crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

  参数 :
  -e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
  -r [UserName]: 删除目前的时程表
  -l [UserName]: 列出目前的时程表
  -v [UserName]:列出用户cron作业的状态

基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

例子:

例如:每2分钟执行一个shell文件,则使用:
crontab -e 打开配置文件,在最后输入:
*/2 * * * * /home/samson/crontabtest/test.sh
每两小时为:
* */2 * * * shellprogram_name

其它依此类推。
注意:/home/samson/crontabtest/test.sh要有可执行的权限哟。
配置完成后,保存,再执行:
/etc/init.d/crond restart  或 service crond restart
进行重新启动,以便新加入的条目能够生效。

/home/samson/crontabtest/test.sh的内容为:
#!/bin/bash
datetime=`date`
echo -e "write time is ${datetime} n" >> /home/samson/yygydjtkhhh
echo -e "this is crontab test " >> /home/samson/yygydjtkhhh
echo -e "endn"  >> /home/samson/yygydjtkhhh

则我们可以查看:
[root@UFO crontabtest]# cat /home/samson/yygydjtkhhh
write time is Thu Aug  9 09:32:01 CST 2012

this is crontab test
end

write time is Thu Aug  9 09:34:01 CST 2012

this is crontab test
end

图片 1

本文由今晚买四不像发布于操作系统,转载请注明出处:shell后台定期职务crontab的用法,crontab使用验证及

关键词:

上一篇:没有了
下一篇:没有了