我在我的专用服务器上运行OpenVPN客户端,将服务器连接到专用networking。 上周,该服务(即OpenVPN)断开连接,直到我们的客户开始响起,我们才意识到。 我不知道它断开连接的原因,现在我想在OpenVPN断开连接后立即设置电子邮件警报。 我怎样才能做到这一点 ? 任何人都可以帮助请。
顺便说一下,服务器正在运行CentOS 6.8
谢谢。
我已经用这三个步骤成功地build立了一个
按照这个或find自己的指导来configuration脚本的电子邮件通知
打开/etc/openvpn/server.conf并追加下列行
script-security 2 client-disconnect /path/to/script
最后chmod 755 /path/to/script
编辑:对不起,我误解了你的问题。 将以下两行添加到client.conf 。 这个方法比cronjob更可取,因为它几乎是瞬间的,不会给你带来邮件
script-security 2 down /path/to/script
我设法写一个简单的脚本来检查服务是否正在运行,如果没有,重新启动服务并发送电子邮件。 这是简单的代码
文件名checkprocess.sh
#!/bin/bash # timestamp ts=`date +%m-%d-%Y_%H:%M:%S` if pgrep "openvpn" > /dev/null then echo "$ts: OpenVPN running..." >> /etc/openvpn/myscript/processcheck.log else echo "$ts: openvpn not running, restarting..." >> /etc/openvpn/myscript/processcheck.log /etc/init.d/openvpn start > /dev/null >> /etc/openvpn/myscript/processcheck.log if pgrep "openvpn" > /dev/null then echo "$ts: openvpn started OK..." >> /etc/openvpn/myscript/processcheck.log echo "OpenVPN service went down, the service has been restarted." | mail -s "OpenVPN went down" [email protected] else echo "$ts: openvpn not started..." >> /etc/openvpn/myscript/processcheck.log echo "OpenVPN service is down, the server is trying to restart the service." | mail -s "OpenVPN is down" [email protected] fi fi
把这个文件放在/etc/openvpn/myscript然后编辑cronjob
#crontab -e
添加以下行,每5分钟运行脚本
*/5 * * * * /etc/openvpn/myscript/checkprocess.sh