我写了一个小脚本来检查openvpn是否正在运行,如果没有运行,就启动它。
这是我正在运行的脚本
#!/bin/bash **-x** ps auxw | grep openvpn | grep -v grep > /dev/null if [ $? != 0 ] then /etc/init.d/openvpn start > /dev/null log="/root/ServerRestart.log" echo "The Openvpn Server was restarted at\n" > $log date >> $log fi
这里是crontab:
* * * * * /root/vpnmonitor.sh
它显示在syslog中,它运行的脚本,但它似乎并没有实际执行,脚本从terminal运行时工作正常。
openvpn服务将不会开始删除适当的路径。 尝试包含在你的“vpnmonitor.sh”中:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
喜欢:
#!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games logger "VPN restarted from cron" /etc/init.d/openvpn restart vpn-servername
我在/ etc / crontab中创建了一个新的cronjob,而不是使用crontab -e
,现在可以工作了,谢谢大家。