bash – OpenConnect自动连接/重新连接脚本?
发布时间:2020-12-15 21:00:49 所属栏目:安全 来源:网络整理
导读:我有这个脚本: #!bin/bashNAME="user"PIDFILE="openconnect.pid"CERT="user.crt"KEY="user.key"PASS="pass"HOST="https://example.com"SCRIPT="/etc/vpnc/vpnc-script"openconnect -b --script $SCRIPT --pid-file=$PIDFILE -c $CERT -k $KEY --key-passwor
我有这个脚本:
#!bin/bash NAME="user" PIDFILE="openconnect.pid" CERT="user.crt" KEY="user.key" PASS="pass" HOST="https://example.com" SCRIPT="/etc/vpnc/vpnc-script" openconnect -b --script $SCRIPT --pid-file=$PIDFILE -c $CERT -k $KEY --key-password=$PASS --user=$NAME $HOST 它可以工作,但有时如果出现问题(重启服务器或其他一些问题),它会断开与VPN的连接.我需要再次重新运行脚本.有什么方法可以修改它或者以cron作业或其他方式添加它? 注意.当我运行此脚本时,我需要输入证书密码.所以考虑到安全性,我想知道在哪里应该保留用于自动连接目的的密码? 解决方法
您可以通过检查其PID来检测openconnect是否仍在运行:
pidof openconnect 如果openconnect仍然运行,则返回退出值0,否则为非零. 你会有一个看起来像[未经测试但应该给你一个提示]的脚本: #!/bin/bash OPENCONNECT_PID="" function checkOpenconnect(){ ps -p "${OPENCONNECT_PID}" # print the status so we can check in the main loop echo $? } function startOpenConnect(){ # start here open connect with your params and grab its pid openconnect [your params] & OPENCONNECT_PID=$! } startOpenConnect while true do # sleep a bit of time sleep 30 OPENCONNECT_STATUS=$(checkOpenconnect) [ $OPENCONNECT_STATUS -ne 0 ] && startOpenConnect done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |