[ubuntu] Unable to restore VPN connection

view full story

http://ubuntuforums.org – I am trying to keep a VPN connection open between two Ubuntu 8.04 LTS servers, one in Holland and one in China. Unfortunately, because the connection in China is not great, about 1 time a day the connection drops. I have therefore devised a script, to be started by crontab once every 5 minutes, that checks the connection and if necessary restores it. Code: #!/bin/bash ping -c 2 -W 10 &> /dev/null; PING = $?; if [ "$PING"-ne 0]; then   # Restart pptp connection   killall pppd;   sleep 30;   /usr/sbin/pppd call pptpvpn; fi The script works fine when I start it from the shell but, unfortunately, when starting from cron it generates the following error messages in syslog: bluebuntu /USR/SBIN/CRON[29540]: (root) CMD (/usr/local/bin/checkvpn > /tmp/checkvpn.log 2>&1) bluebuntu pppd[29551]: pppd 2.4.4 started by root, uid 0 bluebuntu pppd[29551]: Couldn't get channel number: Input/output error bluebuntu last message repeated 9 times bluebuntu pppd[29551]: Exit. In which bluebuntu is my server's name. Any ideas on why this is happening? I would help me a lot if someone would provide a solution for this issue. Thanks, Bob P. S. My script in /etc/init.d is: Code: #!/bin/bash   function routeadd {   route add -net netmask dev ppp0   route add -net netmask dev ppp0 } function makepptp {   echo pty \"pptp mycompany.nl --nolaunchpppd\" >> /etc/ppp/peers/pptpvpn;   echo remotename PPTP >> /etc/ppp/peers/pptpvpn;   echo require-mppe-128 >> /etc/ppp/peers/pptpvpn;   echo file /etc/ppp/options.pptp >> /etc/ppp/peers/pptpvpn;   echo ipparam pptpvpn >> /etc/ppp/peers/pptpvpn;   echo persist >> /etc/ppp/peers/pptpvpn;   echo usepeerdns >> /etc/ppp/peers/pptpvpn;   pppd call pptpvpn > /tmp/pptpvpn.log 2>&1 & }   if [ -e /etc/ppp/peers/pptpvpn ]; then   rm /etc/ppp/peers/pptpvpn;   echo name myvpn >> /etc/ppp/peers/pptpvpn;   makepptp;   sleep 12;   routeadd; else   echo name myvpn >> /etc/ppp/peers/pptpvpn;   makepptp;   sleep 12;   routeadd; fi (HowTos)