电子邮件警报,当OpenVPN断开

我在我的专用服务器上运行OpenVPN客户端,将服务器连接到专用networking。 上周,该服务(即OpenVPN)断开连接,直到我们的客户开始响起,我们才意识到。 我不知道它断开连接的原因,现在我想在OpenVPN断开连接后立即设置电子邮件警报。 我怎样才能做到这一点 ? 任何人都可以帮助请。

顺便说一下,服务器正在运行CentOS 6.8

谢谢。

我已经用这三个步骤成功地build立了一个

  1. 按照这个或find自己的指导来configuration脚本的电子邮件通知

  2. 打开/etc/openvpn/server.conf并追加下列行

     script-security 2 client-disconnect /path/to/script 
  3. 最后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