# Check for tun0
tuncheck=$( { /sbin/ifconfig tun0; } 2>&1 )
tunnotfound="not found"
if [ "${tuncheck/$tunnotfound}" = "$tuncheck" ] ; then
echo "- VPN tunnel appears to be up and connected (Good!)"
else
echo "Error detected! tun0 does not exist."
echo "Please make sure both internet and the VPN is connected!"
echo ""
echo "Then run this script again!"
echo ""
[[ -f /etc/cron.d/piaport ]] && rm -f /etc/cron.d/piaport
exit
快速回答,所以问题有一些结束:
@user535733 的评论在我看来是最好的方式。VPN 在启动时被禁用并在此系统中手动启动,由
systemd disable openvpn
.我
vpn-up.sh
在 VPN 启动后执行的脚本中添加了以下内容systemctl start openvpn
:该脚本启动并生成一个文件
piaport
,/etc/cron.d
该文件在生成后一小时运行脚本,之后每小时运行一次。vpn-down.sh
VPN服务停止时运行的脚本systemctl stop openvpn
:对于意外重启,cronjob 调用的脚本会检查 VPN 是否存在,如果 cronjob
/etc/cron.d/piaport
剩余,则将其删除:部分脚本:
总的来说,cronjob 仅在必要时运行,并且在 VPN 启动时运行。