crontab執行腳本的時候,有可能會因為環境變量的問題而不能執行。如手動執行sh /root/aa.sh時,是成功的,在另一台虛拟機也是成功的。但在某一台就沒成功。此時,可以添加PATH到aa.sh裡。
vi /root/aa.sh
#!/bin/bash
PATH="/usr/local/jdk1.7.0_79//bin:/usr/local/jdk1.7.0_79/bin:JRE_HOME/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
i1=`nmap -sS 127.0.0.1 -p 8080 | grep $8080 | awk '{printf $2}'`
i2=`nmap -sS 127.0.0.1 -p 8081 | grep $8081 | awk '{printf $2}'`
if [ "$i1" == "closed" ]; then
/home/work/tomcat-background/bin/startup.sh
fi
if [ "$i2" == "closed" ]; then
/home/work/tomcat-zjq-front/bin/startup.sh
調試時可以在腳本裡加echo來調試
echo 1111 > /tmp/abc
本文轉自flayber 51CTO部落格,原文連結:http://blog.51cto.com/406647516/1922538,如需轉載請自行聯系原作者