![]() |
как в скрипте определить, подключен к и-нету или нет?
надо сделать так: скрипт определяет например можно ли сделать ping cnn.com и если нет запускает подсоединение, потом запускаем етот скрипт в cron
ideas? |
Drakosha
на каком языке скрипт-то? |
Цитата:
|
ну а вчем проблема ??
на пьяную голову можно вот так #!/bin/sh ip=$1 i=`ping $ip -c 1 -i 1 -q |grep packet |awk '{print $7}'|sed 's/[^0-9]//g'` if [[ $i != 100 ]] then echo OK else echo "ISP MUSTDIE" fi usage %sh probeping xx.xx.xx.xx-ipofmydearISP вместо echo OK |echo "ISP MUSTDIE" вставляешь свой скрипт поднимаюший соединение или что там есть правдa тестирование выяснило некоторые шероховатости , но я думаю как пример сойдет :)) ну и в конце правишь crontab на нужное тебе время. а это в помошь начинаюшим Adminam http://gazette.linux.ru.net/rus/arti...abs-guide.html |
Цитата:
|
спасибо за идею, конечный варинат выложу тут
|
here it is:
#! /bin/bash res=`ping google.com -c 1 -q -W 2 -w 2 | grep '1 packets transmitted, 1 received, 0% packet loss' | wc -l` #echo ">>> $res" if [ "$res" -eq "1" ] then echo OK else echo "ISP MUSTDIE" fi |
А какбы это в цикл завернуть
чтобы сидел этот скрипт и например каждые 30 секунд проверял есть соединение или нет |
у меня ето сидит в cron:
crontab -l ... 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /sbin/probeconn.bash ... |
я в этих делах не разбараюсь
может выложишь полный скрипт в crone который висит и как сделать чтоб он каждые 30 сек проверял соединение |
насколько я знаю в можно делать минимум каждую минуту. Для етого добавляеш строчку:
* * * * * script_to_run у меня стоит скрипт который я туу запостил, только вместо 'echo "ISP MUSTDIE"' напиши вызов скрипта который подключается к и-нету |
куда сторочку добавить
в /etc/rc.d/init.d/crond? |
Нет.
Созаешь/редактируешь файл заданий - crontab, например: # mcedit /etc/crontab Добавляешь туда свое задание, а затем - # crontab /etc/crontab |
я вот не понял как там правильно дату указать
мне нужно чтобы он проверял наличие соединения каждый день каждую минуту напишите пожалуйста это |
aivs
* * * * * /full/path/to/your/script.sh Это - каждую минуту, кадый день. |
неработает
[root@localhost root]# crontab -l # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/etc/crontab installed on Wed Jan 21 14:48:20 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly * * * * * /root/Desktop/connect [root@localhost root]# Добавлено через 12 минут: может поможите мне написать непрерывный цикл определения коннекта с интервалом 30 сек и по возможности чтобы велся лог в файл |
по идее надо сделать 'crontab -e' и вставить ету строчку
|
чето с crontab у меня проблемы
может подкинете какой нибудь манул по циклам в bash |
ну и что будет цикл ? , процессор грузить без пользы ?
не лучше ли разобраться с crontab ? man crontab man cron |
ну тогда помогите
вот мой /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly * * * * * /root/Desktop/connect далее делаю crontab -l мне выдается [root@localhost root]# crontab -l # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/etc/crontab installed on Wed Jan 21 14:48:20 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly * * * * * /root/Desktop/connect [root@localhost root]# И все никаких действий не наблюдается |
уже было сказано man crontab
/etc/crontab -системный crontab создать свой crontab file #cronatb -e далее например как советовал Drakosha 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51, 54,57 * * * * /sbin/probeconn.bash подробности man crontab |
А можноли сделать так чтоб скрипт запускался каждый день с 2 ночь до 9 утра каждую минуту?
А в остальное время не запускался. |
Цитата:
man crontab man cron ....как уже раз 20 говорилось |
Interesno, a naf pingom eto delat? Ili interfeis zakonneten wsegda? Ya-bi grepal i checkal rezultat raboti ifconfig ili pidof pppd.
|
Цитата:
ага интерфеис законнетен всегда. к тому же если pppd пашет не факт что можно по сайтам ходить. А так 100%! |
Ti toje ne praw. Esli ping prohodit, eto eshe toje ne znachit, chto mojno lazit po saitam.
|
Цитата:
ок.... Какие будут предложения? Например что-то вроде links -dump google.com | grep images | wc -l и если есть строки то ок? |
A mojet lynx a ne links?
|
Цитата:
both OK :) |
helldomain
Есть и links тоже ;) |
Цитата:
А если соединение модемное, то каждую минуту гугла грузить - только трафик создает лишний. Мне кажется, что пинг вполне достаточен для данной задачи. Если пинги ходят, а веб не работает, то дело скорее всего не в соединении. |
Wozmojno i tak.
|
Часовой пояс GMT +4, время: 04:28. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.