crontab执行shell脚本和直接运行的结果不一样

本文介绍了在Linux环境下,使用crontab执行shell脚本时出现与直接运行结果不同的问题。问题根源在于crontab不继承用户的环境变量。通过在脚本中配置环境变量,特别是nmap的绝对路径,可以解决这个问题。使用`which nmap`获取nmap的准确路径,并添加到脚本开头,确保crontab能够正确执行。
摘要由CSDN通过智能技术生成

crontab执行shell脚本和直接运行的结果不一样


今天在写脚本用于检测服务器多个端口的运行状态,写完后直接运行没有问题,但是用crontab做定时执行的时候会导致执行的结果不一样,经过各种调试,终于明白问题的所在,就是需要配置脚本的运行环境
我这里使用的是nmap(linux下网络扫描和嗅探工具包)来检测端口,看代码
#判断文件python_port里面的端口是不是在服务中
for i in `cat /home/***/***/python_port`;
 do
   port_check=`nmap -n -p $i 127.0.0.1 | grep open  | wc -l`;
   if test $port_check 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值