ВНИМАНИЕ! Обнаружен взлом форума. Рекомендуется всем срочно сменить пароли! Подробности в этом топике.

Перейти к публикации
1001rapid

CMD. Батник для удалённой перезагрузки фермы.

Рекомендованные сообщения

(изменено)

Делюсь наработками.
Возникла тут у меня ситуация, когда я увидел на пуле, что одна из карт (основная, та, куда, кук бы монитор подключен) не выдаёт полную мощь.
По мониторингу видно, что с частотами всё нормально.
Думаю, нужно перезагрузить. Пытаюсь подключиться через ТимВьювер - не даёт, через RDP - нет. Сетевая расшаренная папка при этом доступна.
В итоге пошёл (!!!) и нажал Reset, а так как делать этого не хотелось, придумал как сделать так, что бы вообще никуда логиниться не нужно было.
Имеется ввиду - программы удалённого доступа (долго и велика вероятность зависания, да ещё и бывает, как вот у меня, не даёт подключиться).

 

Для начала, расшариваем папку, где всё "добро" лежит. 
Проверяем, доступна ли она из файлового менеджера "основной" машины (откуда мониторятся фермы).
Для винды проще создать прямые ярлыки в папку, чем ждать отклика от "Сетевого окружения", потому что оно не всегда выдаёт реальную картинку.
Я так вообще пользуюсь FAR, где в пользовательском меню создал команды на переход в сетевую папку ферм.

 

Туда кладём три файла reboot.bat, rebootNet.bat, rebootNet.txt
Внимание! В фалах rebootNet в строчке с командой "copy" в конце 4 пробела. Это нужно, что бы не выскакивало ошибки при замене файла. Она, вроде, на работу не влияет, но глаз мозолит.

 

Ярлык (!!!) на файл rebootNet.bat кидаем в Автозагрузку.

 

Для перезагрузки:

- заходим по сетке, каким угодно файловым менеджером в эту самую расшаренную папку;
- открываем для редактирования файл rebootNet.bat и удаляем "rem " перед "goto reboot";
- сохраняем.

 

Максимум через минуту (это строчка "ping -n 60...") запустится файл reboot.bat, 
который ещё через минуту (это параметр "-t 60") перезагрузит ферму.

На всякий случай - с возможностью отмены по нажатию "Enter". После отмены окно закроется через минуту.

 

А что бы после перезагрузки батник стал опять ожидающим, а не активным, он переписывается файлом rebootNet.txt, в котором записано исходное состояние батника.

 

В архиве все три файла.

И содержание, на всякий случай:

 

reboot.bat

@echo off

shutdown.exe -g -t 60 -f
set /p qw=Press [Enter] for cancel...

shutdown.exe /a

echo.
echo.Reboot is cancelled
ping -n 60 127.0.0.1 > nul
exit

rebootNet.bat

@echo off
:rstart
echo.
echo.waiting for request to reboot from the network...
:loop
ping -n 60 127.0.0.1 > nul

rem goto rboot

goto loop
:rboot
echo. rebooting...
start  reboot
ping -n 2 127.0.0.1 > nul
echo.    recovery rebootNet.bat:
copy /Y rebootNet.txt rebootNet.bat     
ping -n 2 127.0.0.1 > nul
goto rstart

rebootNet.txt (собственно это копия предыдущего файла в его исходном состоянии)

@echo off
:rstart
echo.
echo.waiting for request to reboot from the network...
:loop
ping -n 60 127.0.0.1 > nul

rem goto rboot

goto loop
:rboot
echo. rebooting...
start  reboot
ping -n 2 127.0.0.1 > nul
echo.    recovery rebootNet.bat:
copy /Y rebootNet.txt rebootNet.bat     
ping -n 2 127.0.0.1 > nul
goto rstart 

 

20180111-reboot_bat.rar

Изменено пользователем 1001rapid

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гм.. кстати, а можно ещё упростить

после всех этих операций, создать батники с командой "copy" для перезаписи ожидающего батника на активный для каждой фермы

только тогда ещё один файл нужен - активного состояния батника

 

только в этих батниках нужно использовать команду XCOPY и полный путь писать для обоих файлах (источник, назначение)

типа

xcopy /y /z \\42-64BIT\iCloud\OneDrive\Mining\soft\rebootNet-act.txt \\42-64BIT\iCloud\OneDrive\Mining\soft\rebootNet.bat 

а в этом новом файле нужно добавить 4 пробела где-нибудь повыше,

скажем, между строчками

rem goto rboot
    
goto loop

а то опять CMD часть кода начинает воспринимать за команду и писать, что это не команда) 

Изменено пользователем 1001rapid

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×