首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenConnect自动连接/重新连接脚本?

OpenConnect自动连接/重新连接脚本?
EN

Stack Overflow用户
提问于 2015-01-14 10:04:04
回答 1查看 7.6K关注 0票数 7

我有这样的剧本:

代码语言:javascript
运行
复制
#!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作业或其他方式吗?

Note.运行此脚本时,需要输入证书密码。因此,考虑到安全性,我想知道为了自动重新连接,我应该把密码保存在哪里呢?

EN

回答 1

Stack Overflow用户

发布于 2016-04-13 14:19:48

您可以通过检查openconnect的PID来检测它是否仍在运行。

pidof openconnect

如果openconnect仍然运行,则返回退出值为0,否则为非零。

您将有一个看起来像这样的脚本,没有经过测试,但是应该给您一个提示:

代码语言:javascript
运行
复制
#!/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
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27940254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档