Cron 执行问题

Cron 执行问题

首先,我搜索了过去与 crontab 相关的帖子,但没有找到任何指向我可能遇到的问题的线索,因此如果这个问题已经解决,请原谅。另外,如果以下内容过于冗长,请原谅。

操作系统:Ubuntu 18.04.4

我创建了一个脚本 (inetavail.sh),希望每分钟启动一次,以确定我的 ISP 是否存在服务漏洞(我最近接听了多次 Zoom 电话,由于互联网中断而被踢出)。以下是我的脚本内容(使用 hping3):

#!/bin/bash
# Sample Output:
# 06/26/2020, 13:15, Online
# or
# 06/26/2020, 13:15, Offline

dt=`date +'%m/%d/%Y, %H:%M'`

err=$(hping3 www.google.com -c 1 -S -p 80 2>&1 >/dev/null)

echo $err|awk -v dt="$dt" '{for(i=1;i<=NF;i++)if($i~/%/)print ($i=="100%")? dt", Offline" : dt", Online"}'

exit

我的 crontab 条目如下:

* * * * * /home/lava/.util/inetavail/inetavail.sh >> /home/lava/.util/inetavail/inetavail.csv

一旦我有了输出文件(csv),我就会有另一个脚本生成一个 gnuplot 图(当调用时)来以图形方式表示互联网服务中的差距。

从命令行执行脚本(/home/lava/.util/inetavail/inetavail.sh >> /home/lava/.util/inetavail/inetavail.csv)成功,但通过 cron 执行时,我没有得到任何输出。

有人知道问题可能是什么吗?为了能够以我本人(非 root)身份执行 hping3,我必须在安装 hping3 后执行以下命令:

sudo setcap cap_net_raw+ep /usr/sbin/hping3

从 cron 执行时,hping3 是否可能无法执行(具有 open_sockraw 操作权限)?我尝试以 root cron 运行相同的脚本,但没有成功。

感谢您的建议。

特克斯

相关内容