Welcome to Yumao′s Blog.
這個需求是一個好友提出來的
他說自己的VPS需要進行VPN撥號有特殊用途
但是每次VPN斷開之後需要手動pon
導致不能及時的重新連接上
解決思路如下:
使用crontab進行每小時多次循環
檢測ppp在綫狀態
不在綫的話進行VPN撥號
自動添加路由表
並且進行檢測日誌
先在crontab中添加自動運行計劃:
nano /etc/crontab
在最底下添加
1 2 | 0,20,40 * * * * root /root/crontab .sh & #在每個小時的0分20分40分 以root用戶後臺運行命令/root/crontab.sh |
然後我們在crontab.sh添加具體操作内容
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/sh VPN=` ifconfig | grep ppp0` if [ -z "$VPN" ] then echo ` date '+%Y-%m-%d %T' ` : "Connecting to ppp" >> cron .txt pon pptp sleep 10s echo ` date '+%Y-%m-%d %T' ` : "Add Router" >> cron .txt route add -net 0.0.0.0 netmask 0.0.0.0 dev ppp0 echo ` date '+%Y-%m-%d %T' ` : "Done!" >> cron .txt else echo ` date '+%Y-%m-%d %T' ` : "Connected" >> cron .txt fi |
然後就可以重啓生效結果了