shell脚本无法定时运行

#!/bin/bash
panduan="tcpdump -i any port 7100 -s0 -G 10 -w /ww/cs/%Y_%m%d_%H%M_%S.pcap"
NUM=ps -ef | grep tcpdump | grep -v grep | awk '{print $2}' | wc -l
PID=ps -ef | grep tcpdump | grep -v grep | awk '{print $2}'
echo date +%Y%m%d-%H:%M:%S "检测服务: 是否存在,如果存在,则不运行:如果不存在,则启动程序"
if [ "${NUM}" -lt 3 ]; then
tcpdump -i any port 7100 -s0 -G 10 -w /ww/cs/%Y_%m%d_%H%M_%S.pcap&
fi

写了一个小脚本,直接运行脚本可以执行,但是放到crontab定时任务,总是无法执行,后台报错
20221117-20:45:01 检测服务: 是否存在,如果存在,则不运行:如果不存在,则启动程序
/ww/tcpdump.sh: line 7: tcpdump: command not found
想知道为啥,还请帮助

这不都说的很清楚吗,tcpdump这个命令没找到,环境变量的问题,你把tcpdump命令的绝对路径写出来

1.执行定时任务是普通用户还是root用户
2.如果是普通用户,在家目录 .bash_profile文件里添加

PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin

3.如果是root用户,在/etc/profile中添加变量

PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin

4.如下代码就可以正常运行了

#!/bin/bash
source /etc/profile
panduan="tcpdump -i any port 7100 -s0 -G 10 -w /ww/cs/%Y_%m%d_%H%M_%S.pcap"
NUM=ps -ef | grep tcpdump | grep -v grep | awk '{print $2}' | wc -l
PID=ps -ef | grep tcpdump | grep -v grep | awk '{print $2}'
echo date +%Y%m%d-%H:%M:%S "检测服务: 是否存在,如果存在,则不运行:如果不存在,则启动程序"
if [ "${NUM}" -lt 3 ]; then
tcpdump -i any port 7100 -s0 -G 10 -w /ww/cs/%Y_%m%d_%H%M_%S.pcap&
fi