PDA

Показать полную графическую версию : Скрипт по условию.


Butunin Klim
17-08-2006, 09:43
Задача немного не обычна.
Что есть.
Есть Сервера 8 штук. между ними гигабит.
Есть главный сервера комбинатор (к1) и другие 7 (к2,к3,к4,...,к8)
Скажем ночью по уловию в 12.00 запускается обнавление на к1 с инета качается 800метров ежедневно.
Как только обнавление закончилось комбинатор к2 хватает это обнавление и качает его себе с к1.
После того как к2 закончил качать, включается комбинатор к3 и к4, который качают по токому условию

к3 с к1,
к4 с к2.

Как только это закончилось включаются к5,к6,к7,к8.

к5 с к1,
к6 с к2,
к7 с к3,
к8 с к4.

Подумав и порасуждав такое можно реализовать только с помощью фаилов отчетов которые будут создаваться после того как закончится копирование.
Копирование организовать легко. Как организовать создание определенного отчёта! Что бы если этот фаил есть в этой папке запускался скрипт на скачивание
Есть мысли?

Butunin Klim
17-08-2006, 10:10
Мысль возникла такая.
Создаем 2 батника на к1

1 батник - запускает обнавление на скачку с инета + когда это заканчивается качает батник (2) на комбинатор 2 в папку test.
2. Батник (2) В нем сказанно что качать с к1 на себя (к2).

на комбинаторе 2 (к2) запускаем шедулер c запуском батника (2). каждые 15 сек. Так как этого фаила там не будет пока не закончится обнавление его там не будет и условие скачивание не будет выполнено.
Как вы думаете в чем камни?!

Butunin Klim
17-08-2006, 11:42
И так сам посидел сам подумал порисовал и решил загадку.
Делаем на к1. 2 фаила
END.bat - в котором (запуск шедулера на скачку с инета, после того как эта процедура закончилась качается фаил start.bat на комбинатер 2 в папку test)
start.bat - в котором (скачака фаилов координатора 1 + запуск фаила на удаление самого себя del.bat)

На К2
1.Создаем задание в шедулере. Запуск фаила start.bat в папке test выполнять каждую 1-5 минут.
2.del.bat (удаление фаила start.bat + копирование файла satat3.bat на комбинатор 3 в папку тест)
3.start2.bat (запуск копирования с комбинатора 2 и запуск фаила del.bat)

и так далее в цикле по все комбинаторам.

MAX85
17-08-2006, 14:45
Друг, думаю, что тут далеко не все понимают, что такое комбинатор :) что з капризная это штука и для чего она предназначена :) ты тож с Гарантом работаешь? вот мы попали... ;)

Butunin Klim
17-08-2006, 15:51
Вобщем вот что получилось

amel27
18-08-2006, 03:50
Butunin Klim
Два соображения:
1. Имхо удобней иметь один батник в одном месте (K1) вместо кучи раскиданных по серверам, пример:
IF %1_==_ EXIT
SET FILE=FileName.Ext
CALL :%1
DEL %~0 & EXIT

<...>

:K3
COPY \\K1\TEST\%FILE% \\K3\TEST\
COPY \\K3\TEST\%~nx0 \\K5\TEST\%~nx0
COPY \\K3\TEST\%~nx0 \\K6\TEST\%~nx0
GOTO :EOF

<...>вызов:
update.cmd %COMPUTERNAME%

2. Для условного запуска батника вместо шедулера можно использовать удаленный вызов из самого батника (типа PSEXEC) или подписку на системные события WMI (в данном случае появление в каталоге файла UPDATE.CMD)

Butunin Klim
18-08-2006, 09:23
amel27
Проблема в том что нужно что бы не стразу на все заливались файлы а сначало на один потом с этих двух на другие 2, потом с 4 на другие 4 и так далее. Каскад такой своеобразный

amel27
18-08-2006, 09:37
Butunin Klim
дык оно так и получается - каждый сервер копирует сначала c источника сам файл, а потом передает свой батник дальше по цепочке, который по получении запускается, только для каждого сервера в батнике отведена своя секция (имя метки совпадает с именем сервера)




© OSzone.net 2001-2012