这里是一个相当新的 Linux 用户。为了工作,我经常在 Xubuntu 15.05 中通过 sshfs 安装两个网络驱动器。现在我编写了一个小的 bash 脚本来安装/卸载这两个驱动器并在本地 bin 中创建指向它们的符号链接,以方便我自己使用,它们工作正常。问题是我只能在连接 VPN 时安装这些网络驱动器,当我暂停笔记本电脑时(有时我不得不非常意外地这样做),VPN 连接会中断,而磁盘不会被卸载。稍后恢复会话后,磁盘似乎卡在安装和卸载之间。我无法访问磁盘,但也无法卸载它们,甚至无法重新安装它们。有谁知道一种方法可以确保 VPN 连接因某种原因(暂停、网络故障或其他原因)中断时,两个磁盘都会自动卸载,以防止出现此问题?
非常感谢!Narameh
答案1
尝试这个
umount
sshfs
制作在vpn
终止时驱动的脚本。
在文件夹中创建脚本/etc/network/if-down.d/
并赋予其执行权限755
# Check for specific interface if desired
[ "$IFACE" != "ppp0" ] || exit 0
# Do something
umount /path/drive
何时执行int ppp0
下行命令umount /path/drive
您也可以设置“自动挂载int ppp0
”
在中制作脚本/etc/network/if-up.d/
# Check for specific interface if desired
[ "$IFACE" != "ppp0" ] || exit 0
# Do something
your_script_for_mounting_drives
溶液 2 号
制作脚本link_stat
nano /path/link_stat
#!/bin/bash
if ip addr show ppp0 | grep 'state UP'; then
echo "Network ok."
else
echo "$ERR Network down, umounting"
#put_here_your_sommand_for_umount
fi 2>&1 >> /path_to_log/stat_log
做
chmod 777 /path/link_stat
使用 cron 运行脚本
sudo crontab -e
每 30 秒运行一次命令
* * * * * /path/link_stat
* * * * * sleep 30 && /path/link_stat
这将检查vpn
状态,如果状态为 dovn,则会卸载驱动器