sco linux crontab重启,对于crontab定时任务不能自动执行的总结

最近遇到了一些sh不能在crontab定时任务中自动执行的问题

期间因为不太了解,故走了一点弯路,如今总结下来可能第一次

进行设置遇到的问题。以绝后患!我所用过的操做系统为HP-unix&linux&sco-unix,均测试经过

1,首先确保sh脚本具备可执行属性

即chmod +x  ***.sh

或chmod +777 ***.sh

2,确保sh脚本手工执行正常

即在当前系统内手工执行sh脚本之后能收到本身指望获得的结果

3,加载环境变量

这个问题是常常容易被忽略的问题,一般咱们在第二步的时候手动执行脚本能获得本身想要的结果,但是设置好crontab以后,总不能获得本身想要的结果, 总感受脚本没有被执行。或者执行后没有获得正常的结果。不少均是因为没有加载所在用户的环境变量所引发的。所以最好在本身的脚本首两行添加环境变量的导 入。以下:其中telstar是我在操做系统下所在的用户。在该目录下执行ls -a能够查看到.cshrc文件。咱们在本身的sh脚本中增长source 该文件,将本用户的环境变量加载,那么如下的内容就能正常被执行了

#!/bin/csh#source /telstar/.cshrc

下面贴出个人定时重启tomcat的一个例子

#!/bin/cshjava

source /telstar/.cshrckill -9 `ps -ef | grep Djava.uti | grep -v tail | grep -v vi | grep -v grep | awk '{print $2}'`cd /telstar/tomcat/binsleep 15./startup.sh &

其实这里不加载环境变量的话,sh前加上绝对路径,应该也能够,这个没有测试,有兴趣的朋友能够尝试一下

#!/bin/csh

source /telstar/.cshrc

kill -9 `ps -ef | grep Djava.uti | grep -v tail | grep -v vi | grep -v grep | awk '{print $2}'`

sleep 15

/telstar/tomcat/bin./startup.sh &

总之不少手动能正常执行的sh,crontab不能执行大多数状况是因为没有加载环境变量引发的,这里贴出来,以绝后患

#!/bin/csh

source /telstar/.cshrc

kill -9 `ps -ef | grep Djava.uti | grep -v tail | grep -v vi | grep -v grep | awk '{print $2}'`

cd /telstar/tomcat/bin

sleep 15linux

./startup.sh &tomcat

通常状况下须要修改环境变量配置bash

改统一测试

vi ~/.bash_profilespa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值