Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: rcbandit в Nov 19, 2011, 19:34



Титла: Настройка на VPN клиент
Публикувано от: rcbandit в Nov 19, 2011, 19:34
Здравейте,
    Имам един VPS сървър който свързвам ръчно към Cisco VPN server чрез vpnc клиент. Всичко работи но проблема е че когато се рестартира или спре VPN сървъра трябва ръчно да стартирам клиента.
Знам че по принцип може да се направи cron job който да стартира клиента но проблема е какво ще стане ако вече веднъж е стартиран клинета. Всеки път се въвежда ръчно username password.
Дали има някакъв начин това да се реши и всеки път когато се разпадне връската тя автоматично сама да се подновява.

Поздрави

п.п намерих решение:
Значи vpnc може да се настрой да записва в файл номера на процеса на vpnc. Може да се направи един cron job който да проверява дали номера оставен в файла го има като процес, ако го няма да старитара vpnc отново. Обаче нямам си идея как ще се напише това.
Може ли малко помощ за скрипта.


Титла: Re: Настройка на VPN клиент
Публикувано от: rcbandit в Nov 19, 2011, 22:52
Намирате ли грешки в този код? За първи път пиша bash script, поне на пръв поглед работи.

Код:
#!/bin/sh
SERVICE='vpnc'
 
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
    echo "$SERVICE service running, everything is fine"
else
    echo "$SERVICE is not running"
    echo "Starting $SERVICE"
    vpnc test --local-port 0 --pid-file /var/run/vpnc/pid
fi


Титла: Re: Настройка на VPN клиент
Публикувано от: dejuren в Nov 24, 2011, 20:35
Намирате ли грешки в този код? За първи път пиша bash script, поне на пръв поглед работи.

Код:
#!/bin/sh
SERVICE='vpnc'
 
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
    echo "$SERVICE service running, everything is fine"
else
    echo "$SERVICE is not running"
    echo "Starting $SERVICE"
    vpnc test --local-port 0 --pid-file /var/run/vpnc/pid
fi

Нормален код, само може да заместиш echo с logger, например:
Код:
logger "$SERVICE is not running, starting now"
Така съобщенията ще ти отиват в messages, вместо в cron лог-а. Но ако ти е все едно може и да не променяш нищо. Освен това може да махнеш едната част на if-a и да не отчиташ, че cron се е изпълнил, той и без това няма къде да ходи, да оставиш само частта при която vpnc действително се стартира отново.