如果 USB 端口重新启动,并且通过扩展,外部驱动器脱机?
去年,我在岳父家里安装了一套新的闭路电视系统,作为额外的奖励,我给他买了一个 Raspberry PI,将其设置为 VPN 和文件服务器,并将摄像机设置为直接将运动记录到某个 NFS我在 PI 的外部驱动器上设置了共享,这样,如果有人有头脑窃取 NVR,那么任何重要的东西都会有两个副本。
但摄像机不断丢失存储空间,需要重新启动才能使存储恢复在线状态。
我认为这是 POE 问题,因为直接从 NVR 供电时摄像机本身有时也会重新启动,但在安装 POE 交换机并稍微更改网络配置后,这种情况就停止了。
不过我今天检查了一下,发现相机再次丢失了辅助存储空间。经过进一步调查,我缩小了时间范围,并检查了 PI 上的系统日志。我发现它遇到了 USB 问题。
USB 1-1.1-端口2:被集线器禁用(EMI?),重新启用...
随后出现了数千条有关驱动器脱机、联机以及摄像机尝试访问 NFS 共享的消息。
我想要的是,如果此事件记录到系统日志文件中,或者只是当其中一个文件系统脱机时,系统会向我发送一封电子邮件,这样我就可以给他打电话,看看他是否正在执行任何特定操作。
它可能只是一个狡猾的 USB 引线或驱动器外壳(我们有一个自供电外壳,以使 PI 不必旋转 3.5 英寸 HDD),所以它甚至可能是 PSU,但我想尝试在购买可能无法解决问题的新 HDD 机箱之前,先确定故障发生时发生的任何情况。
PI 本身由官方 Pi 3 psu 供电。 PI 的外壳是铝制的(我不记得我买的是哪一种,但它是全金属的,可以起到散热器的作用),但在他的研究中,它相当隐藏在显示器后面,所以不太可能移动太多并做空任何东西。
应 K7AAY 的要求进行编辑
Pi 正在运行 Raspbian 9
如果解决方案涉及可以运行脚本的方法,我将修改以下脚本。
#bin/sh
IPADDRESS=$(curl https://wtfismyip.com/text)
if [ "$IPADDRESS" != "$(cat /home/will/scripts/.current_ip)" ]
then
dt=$(date)
echo "Your new IP address as of ${dt} is ${IPADDRESS} \r \r FTB" | mail -s "IvanPI IP address change" **********@gmail.com
echo "$IPADDRESS" >| /home/will/scripts/.current_ip
echo "$dt $IPADDRESS" >> /home/will/scripts/.iphistory
fi
如果发生上述事件,我需要发出的唯一命令是
echo "外部硬盘离线/USB 在 ${dt} \r \r FTB 处重新启动" | mail -s "IvanPI HDD Offline" *************@gmail.com
我只需要知道如果 HDD 脱机/文件系统脱机/USB 端口重新启动,如何触发该命令发生。
这些事件中的任何一个都适合生成电子邮件的触发器,因为它们本质上都是同一件事。