Я использую клиент OpenVPN на своем выделенном сервере для подключения сервера к частной сети. На прошлой неделе сервис (например, OpenVPN) отключился, и мы не осознавали этого, пока наши клиенты не начали нам звонить. Я не знаю, почему он отключился. Теперь я хочу настроить оповещение по электронной почте, как только отключается OpenVPN. Как я могу это сделать ? Кто-нибудь может помочь, пожалуйста.
Кстати, на сервере работает CentOS 6.8.
Спасибо.
Я сам успешно создал один с помощью этих трех шагов
следить этот или найдите собственное руководство по настройке скрипта для уведомления по электронной почте
открыто /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@domain.com
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@domain.com
fi
fi
поместите этот файл в /etc/openvpn/myscript
и отредактируйте cronjob
#crontab -e
Добавьте следующую строку, чтобы запускать скрипт каждые 5 минут
*/5 * * * * /etc/openvpn/myscript/checkprocess.sh