![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Неактивный пользователь
Регистрация: 23.01.2007
Сообщений: 5
Репутация: 0
|
Здравствуйте.
Помогите написать bat-ник. задача: 1.запускается команда ping и работает себе в фоновом режиме 2.при условии таймаута (к примеру 2000 ms) запускается другой bat-ник, затем, когда снова пингуется, запускается ещё один bat-ник для чего это нужно: при падении (выключении) сервера буит приходить смс на моб. телефон и e-mail P.S. 2-я часть готова. Спасибо. |
|
|
|
| Реклама: | алибек расулов | патруль последний приказ смотреть фильм | Магазин бытовой техники: встраиваемая посудомоечная машина electrolux eea22100l - переходи на сайт ТАЙМТВ! | toggltrack | Осевой вентилятор BPP 25 |
|
|
#2
|
|
Пользователь
Пол:
Регистрация: 10.10.2005
Сообщений: 163
Репутация: 244
|
Вот Скрипт небольшой добавлен в назначенные задания через каждые 30 минут pingует указанные компы, если сервер упал пытается если пропинговать 3 раза (на случай отключения света, может все таки включат=))
Option Explicit On Error Resume Next Dim strMachines,strResult Dim objShell,objPing,objStatus Dim count Dim bCheck Dim aMachines Dim machine ' Задержка на 10 минут Const TimeSleep = 600000 ' 10 минут = 1000 * 60 * 10 strResult ="Proxy rst:" strMachines ="Server;comp;User" count = 0 Set objShell = CreateObject("WScript.Shell") ' Проверка на все ли машины в сети bCheck = true Do If bCheck = False Then count = count + 1 objShell.Exec "c:\cmd2sms.exe -Q -J MTSOPERATOR 79142758281 AHTUNG!!! SERVER Is DOWN " & strResult WScript.Sleep(TimeSleep) End If strResult ="Proxy rst:" bCheck = True On Error Resume Next aMachines = Split(strMachines,";") For Each machine In aMachines Set objPing = GetObject("winmgmts:")._ ExecQuery("Select * from Win32_PingStatus where address = '"& machine &"'") For Each objStatus In objPing If IsNull(objStatus.StatusCode) Or objStatus.StatusCode<>0 Then strResult = strResult & Left(machine,1) & "=0;" bCheck = false Else strResult = strResult & Left(machine,1) & "=1;" End if Next Next Loop Until bCheck = True Or count>=3
__________________
Не все ври, что знаешь... |
|
|
|
|
|
#3
|
|
Неактивный пользователь
Регистрация: 23.01.2007
Сообщений: 5
Репутация: 0
|
спасибо, буду разбираться
|
|
|
|
|
|
#4
|
|
Новичок
Пол:
Регистрация: 27.08.2008
Сообщений: 24
Репутация: 1
|
На С++ проще всего как по мне написать-я так решил проблему.
Запускаешь команду системы ping хост и проверяешь что возвратило. Если ответ 0, то ОК если нет делаешь резет. |
|
|
|
|
|
#5
|
|
Неактивный пользователь
Пол:
Регистрация: 08.02.2008
Сообщений: 3
Репутация: 1
|
наверно стоит еще написать echo чтобы отображалось на экране
|
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| ПОМОГИТЕ написать программу!!! | Rinaserga | Visual C++ / С/C++ | 1 | 01.11.2009 09:17 |
| Помогите мне написать программу на C++ | Germana | Visual C++ / С/C++ | 3 | 08.12.2008 05:52 |
| Помогите написать бат-файл | vamos | Скорая помощь | 1 | 30.05.2008 07:30 |
| Помогите написать скриптик | G_Null | PHP | 4 | 15.02.2008 03:05 |
| Помогите программку написать... | farcry | Программирование | 3 | 03.01.2008 18:21 |
|
|