Решено: Написать скрипт

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
kisil
Сообщения: 204
ОС: Slackware 13,37-14

Решено: Написать скрипт

Сообщение kisil »

Помогите написать скрипт.
Использую deepStyle 3.0 для раздачи интэрнэта. настроил squid, havp, squidGuard. Интернет полечаю через ADSL модем. Сесия подымаетса через pppoe-start. Демон сам переконективаетса если обрыв связи, но бывает что он вилетает. Хочу создать скрипт который будет проверять подключено щас ppp0 или нет и если нет то будет исполнять команду pppoe-start. закину этот скрипт в cron и пускай выполняетса с интервалом в 5 мин. А также хочу чтоби виполнение скрипта записовало в файл инфу например так
Дата.Время pppoe-connect
Дата.Время pppoe-connect
Дата.Время pppoe-connect
Дата.Время pppoe-connect
#например обрыв и вылет pppoe, то что бы записало
Дата.Время pppoe-start
Дата.Время pppoe-connect
Дата.Время pppoe-connect
Дата.Время pppoe-connect
и т.д.
как это сделать.
Пока вот что придумал. Вообще то в shell-програмировании не силён. Так что не судите строго.

#!/bin/sh

if ifconfig | grep ppp0 ;
then echo 'pppoe-connect' > /tmp/check-ppp0.log;
elif /usr/sbin/pppoe start; echo 'pppoe start' > /tmp/check-ppp0.log;
fi;
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Решено: Написать скрипт

Сообщение drBatty »

kisil писал(а):
10.12.2009 17:48
как это сделать.
Пока вот что придумал. Вообще то в shell-програмировании не силён. Так что не судите строго.

сколько-же можно этот скрипт писать?!
их уже миллионы!
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
romeo84
Сообщения: 35
ОС: slackware

Re: Решено: Написать скрипт

Сообщение romeo84 »

может не по теме но не подскажете как автоматизировать подключение к интернету через kppp что бы подключится нужно каждый раз вводить такое
eject /dev/sr0
modprobe usbserial vendor=0x19d2 product=0x0001
dmesg | grep -i ttyUSB

это всё из под root // можно ли сделать скрипт закинуть в авторазрузку пользователя что бы это всё постояно не вводить?
Спасибо сказали:
Аватара пользователя
kisil
Сообщения: 204
ОС: Slackware 13,37-14

Re: Решено: Написать скрипт

Сообщение kisil »

Даже не знаю что и сказать так как kppp в Слаке непользуюсь. Завтра на работе посмотрю и скажу

Вкинь эти команди в шел-скрипт сделай его исполняемым и попробуй запустить только в консоли , щоб увидить ошыбки если будут.
eject /dev/sr0
modprobe usbserial vendor=0x19d2 product=0x0001
dmesg | grep -i ttyUSB
Спасибо сказали:
Аватара пользователя
RocksLinux
Сообщения: 223
ОС: Slackware

Re: Решено: Написать скрипт

Сообщение RocksLinux »

drBatty писал(а):
10.12.2009 21:53
kisil писал(а):
10.12.2009 17:48
как это сделать.
Пока вот что придумал. Вообще то в shell-програмировании не силён. Так что не судите строго.

сколько-же можно этот скрипт писать?!
их уже миллионы!


Приветствую!

Kisil, Вы конечно извините, но этих скриптов и так … Не говоря о том что pppoe-start, на сколько я помню, может сам проверять соединение (допустим постоянный до звон, хотя бы взять). Я бы помог, если бы я сейчас pppoe-start использовал, но по памяти не охото … :blush:

romeo84.

1.Вы случайно, не ныне столь полярный(е) usb-3G модемы используете? Если да - то вероятно, Вам будет удобней использовать usb modeswitch http://www.draisberghof.de/usb_modeswitch/#intro Хотя суть одна.

2.Прописать нужно в правилах udev. Т. е. Вид такой

Код: Выделить всё

Записываете все свои действия:
eject /dev/sr0
modprobe usbserial vendor=0x19d2 product=0x0001
dmesg | grep -i ttyUSB

в скрипт, делаете его исполняемым и куда-нибудь запихиваете.
3.Теперь уже пишем правило:
назавём N.rules /

Код: Выделить всё

ACTION=="add" SUBSYSTEM=="usb", SYSFS{idProduct}=="****", SYSFS{idVendor}=="****", RUN+="sh /путь к Вашему скрипту/скрипт"

значения idProduct и idVendor нужно взять у Вашего устройства (модема), например, Вы его только подключили — выполните от root'а lsusb, в ответ получите не-что вроде этого:

Bus 001 Device 006: ID 12d1:1732 бла-бла-бла (модель Вашего устройства)

Вот Вам SYSFS{idVendor}=="12d1" и SYSFS{idProduct}=="1732"

сохраним это правило в в /etc/udev/rules.d/
/etc/rc.d/rc.udev reload
«Знать, что мы знаем то, что мы знаем, и что мы не знаем того, чего мы не знаем — это и есть истинное знание». //Конфуций\\
120 минут классики рока
Спасибо сказали:
Аватара пользователя
kisil
Сообщения: 204
ОС: Slackware 13,37-14

Re: Решено: Написать скрипт

Сообщение kisil »

RocksLinux писал(а):
11.12.2009 09:37
drBatty писал(а):
10.12.2009 21:53
kisil писал(а):
10.12.2009 17:48
как это сделать.
Пока вот что придумал. Вообще то в shell-програмировании не силён. Так что не судите строго.

сколько-же можно этот скрипт писать?!
их уже миллионы!


Приветствую!

Kisil, Вы конечно извините, но этих скриптов и так … Не говоря о том что pppoe-start, на сколько я помню, может сам проверять соединение (допустим постоянный до звон, хотя бы взять). Я бы помог, если бы я сейчас pppoe-start использовал, но по памяти не охото … :blush:

romeo84.

1.Вы случайно, не ныне столь полярный(е) usb-3G модемы используете? Если да - то вероятно, Вам, вероятно удобно, будет использовать usb modeswitch http://www.draisberghof.de/usb_modeswitch/#intro Хотя суть одна.


Нет использую ADSL модем. Кажысь уже розобрался помогли.
СПАСИБОЧКИ.
:happy:
Спасибо сказали:
Аватара пользователя
RocksLinux
Сообщения: 223
ОС: Slackware

Re: Решено: Написать скрипт

Сообщение RocksLinux »

Эээ :ohmy: Я насчёт устройства к romeo84 обращался. :cray:
Кто помог? :g: Ну в любом случаи, удачи!
«Знать, что мы знаем то, что мы знаем, и что мы не знаем того, чего мы не знаем — это и есть истинное знание». //Конфуций\\
120 минут классики рока
Спасибо сказали:
Аватара пользователя
kisil
Сообщения: 204
ОС: Slackware 13,37-14

Re: Решено: Написать скрипт

Сообщение kisil »

RocksLinux писал(а):
11.12.2009 10:12
Эээ :ohmy: Я насчёт устройства к romeo84 обращался. :cray:
Кто помог? :g: Ну в любом случаи, удачи!

Да мну полазил еще по сайтам и форумам так и нашол решене
Спасибо сказали:
Аватара пользователя
RocksLinux
Сообщения: 223
ОС: Slackware

Re: Решено: Написать скрипт

Сообщение RocksLinux »

Превосходно и показательно! И вообще было бы идеально, ксли Вас не затруднит, выложить сюда решение.
Happy Slacking! ;)
«Знать, что мы знаем то, что мы знаем, и что мы не знаем того, чего мы не знаем — это и есть истинное знание». //Конфуций\\
120 минут классики рока
Спасибо сказали:
Аватара пользователя
kisil
Сообщения: 204
ОС: Slackware 13,37-14

Re: Решено: Написать скрипт

Сообщение kisil »

RocksLinux писал(а):
11.12.2009 11:54
Превосходно и показательно! И вообще было бы идеально, ксли Вас не затруднит, выложить сюда решение.
Happy Slacking! ;)


Вот этот скрипт

#!/bin/sh

if /sbin/ifconfig | grep -q ppp0; then
echo date '+%Y.%m.%d-%H:%M:%S pppoe-connect' >> /tmp/check-ppp0.log;
elif
/usr/sbin/pppoe-start;
echo date '+%Y.%m.%d-%H:%M:%S pppoe-start '>> /tmp/check-ppp0.log;
fi;

:happy: :yes3: :D
Спасибо сказали: