crontab 环境变量问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crontab 环境变量问题相关的知识,希望对你有一定的参考价值。

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

fi



调试时可以在脚本里加echo来调试


#!/bin/bash

echo 1111 > /tmp/abc


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

fi


以上是关于crontab 环境变量问题的主要内容,如果未能解决你的问题,请参考以下文章

crontab 环境变量问题

Centos7 crontab 环境变量不生效

linuxcrontab的环境变量问题

CentOS 中 crontab 定时任务找不到命令问题

crontab的环境变量是个坑,会导致找不到二进制文件

crontab的环境变量是个坑,会导致找不到二进制文件