linux – Bash脚本不能用作cron作业

linux – Bash脚本不能用作cron作业,第1张

概述我有以下 shell脚本 $cat capture.sh TIME=$(date +"%H-%M-%d-%m-%y") IP="203.208.198.29" PREFIX=$TIME$IP tshark -f "udp" -i eth0 -w /root/captures/$PREFIX.cap& pid=$! sleep 2m kill $pid 当我从shell执行它时运行正 我有以下 shell脚本
$cat capture.sh TIME=$(date +"%H-%M-%d-%m-%y") IP="203.208.198.29" PREFIX=$TIME$IP tshark  -f "udp" -i eth0 -w /root/captures/$PREFIX.cap& pID=$! sleep 2m kill $pID

当我从shell执行它时运行正常.

但是当我将它添加到cron选项卡时没有任何反应.

我的crontab条目:
1 * / 2 * 2 3,4,5 sh /root/capture.sh

tail /var/log/cron

显示该命令已执行.

但没有任何反应.我为capture.sh设置了“all”的可执行权限,为/ root / captures目录设置了“all”的写权限.

提前致谢

解决方法 您的PATH变量可能不是您期望它在cron中的变量.

使用脚本中每个可执行文件的完整路径,或在crontab或脚本中手动设置路径.

此外,停止tshark的更好方法是使用内置功能:

-a  <capture autostop condition>       duration:value Stop writing to a capture file after value seconds       have elapsed.

另外#2:添加一个shebang线(#!)

总结

以上是内存溢出为你收集整理的linux – Bash脚本不能用作cron作业全部内容,希望文章能够帮你解决linux – Bash脚本不能用作cron作业所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1040040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存