ChinaUnix.net
 >> ChinaUnix.net > Solaris

請教crontab調度的工作不執行問題

作者:lqmm     发表时间:2002/01/11 10:52am

情況如下:請問有哪些原因使crontab調度的工作不執行?TKS
#crontab -l
#ident root
#backup db01
4 9 * * 1 /sybase/dumplog1 > /sybase/dumplog1.log

#pg /sybase/dumplog1
sybase/bin/isql -Usa -P -S database01<<EOF
dump tran dbename to tapedump3 with file=dblog1,dumpvolume=m,init
go
EOF

#pg /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess


此文章相关评论:
该文章有15个相关评论如下:(点这儿可以发表评论)
netterm 发表于: 2002/01/11 11:17am
你是不是用vi直接编辑的文件?应该用crontab -e来进行。另外看看cron进程正常否?
 
风中男人 发表于: 2002/01/11 11:40am
比如说一个crontab文件叫aaa
则可以用如下命令执行:
#crontab aaa
用#crontab -l aaa

注意,这个文件的格式必须是如下格式:

 M H D m d cmd

M:分钟(0-59) H:小时(0-23) D:天(1-31)
m:月(1-12)  d:周(0-6,0为星期日) cmd:要执行的命令

例子:

#cat mycron
0 1 * * * /bin/data>/export/home2/my.log


每行都必须是这样的格式,否则不会执行。如果一行需要执行多条命令,可以用分号(;)隔开,以回车键为一行,下一行必须是同一个格式,就如:

0 1 * * * /bin/data>/export/home2/my.log
16 1 * * * /usr/sbin/ufsdump 0cfu /dev/rmt/0hn /export/home1/mydata;/bin/date >> /export/home2/my.log
(总共二行,一行中的多个命令用分号隔开。)

还有一点,如果要定时执行的文件格式正确,可还不能正确执行,则可能需要更改root密码了。

 
purepig 发表于: 2002/01/11 12:31pm
先看看你的env里面的EDITOR设定是什么~我一般设定成emacs.
然后crontab -e 就好了,~改好以后 ctrl-x-s,ctrl-x-c存盘退出,就好咯~~
 
lqmm 发表于: 2002/01/11 01:49pm
我的文件都用VI編輯的,然後用crontab filename 安裝的。
用crontab -e後不知怎樣刪,修好象跟VI不一樣。
 
lqmm 发表于: 2002/01/11 01:52pm
還有env里面沒有EDITOR的设定,請問如何加進去
 
dqiu 发表于: 2002/01/11 02:24pm
#EDITOR=vi
#export EDITOR
#crontab -e user
Ok!
 
lqmm 发表于: 2002/01/11 03:39pm
還不行,是哪有問題??
#crontab -e root
#ident root
#backup ERPCN01
0 15 * * 1 /sybase/scripts/dumplog1 > /sybase/scripts/dumplog1.log
0 15 * * 2 /sybase/scripts/dumpdata2 > /sybase/scripts/dumpdata2.log
0 15 * * 3 /sybase/scripts/dumplog3 > /sybase/scripts/dumplog3.log
0 15 * * 4 /sybase/scripts/dumpdata4 > /sybase/scripts/dumpdata4.log
0 15 * * 5 /sybase/scripts/dumplog5 > /sybase/scripts/dumplog5.log
0 15 * * 6 /sybase/scripts/dumpdata6 > /sybase/scripts/dumpdata6.log

# vi dumplog1
sybase/bin/isql -Usa -Pweilidb -SERPCN01<<EOF
dump tran DBCN01 to tapedump3 with file=DBCN01_log1,dumpvolume=MON,init
go
EOF

# vi dumpdata2
sybase/bin/isql -Usa -Pweilidb -SERPCN01 <<EOF
dump database DBCN01 to tapedump3 with file=DBCN01_data2,dumpvolume=TUE,init
dump database master to tapedump3 with file=master_data2,dumpvolume=TUE,unload
go
EOF                      

 
zzf203 发表于: 2002/01/11 04:52pm
dumplog1、dumplog2中的isql的路径不对。
 
Leon 发表于: 2002/01/12 01:44pm
   为什么用vi不可以,更本不是这个原因,如果试路径不对它也应该给你报错,主要每回修改了crontab文件之后,需要做以下步骤才可以使新的执行教本生效。
1.先杀掉/usr/sbin/cron,可以用ps -ef|grep cron 得出id号
2.rm /
3.
 
Leon 发表于: 2002/01/12 01:46pm
2. rm /etc/cron.d/FIFO
3. /usr/sbin/cron

现在可以了,没问题

 
lqmm 发表于: 2002/01/14 09:45am
謝謝Leon,謝謝大家。已經好了。
 
loadysy 发表于: 2002/01/15 02:38pm
为什么我象Leon说的那样做的,结果只执行了一次,把date改成下一个应该执行的时间,却不生效了呢??
 
Leon 发表于: 2002/01/15 04:04pm
  一定要删除FIFO文件,不然没有效果,还有一定要重启cron.d进程,看一下的进程是不是重启过的。
 
cjp 发表于: 2002/01/15 08:14pm
大家好,我有个问题请教。
我的操作系统是solaris8,主机(e3500)名e3500(ip为10.76.88.23),安装answerbook后,直接在浏览器(netscape)中可阅读内容,地址为:http://e3500;8888,但前几天非正常关机,再开机后,如果输入http;e3500;8888,网页出错,提示找不到host。地址必须输入为http;//10.76.88.23;8888时,才能浏览answerbook的内容。
 
loadysy 发表于: 2002/01/16 01:40pm
Hi,Leon
我重启cron进程时,这样显示正常吗?FIFO也删了阿,重启后好使,但再修改时间,却不生效了,why?
# ./cron
# ! No such user as 1 - cron entries not created 三  1月  9 00:14:58 2002
 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者