Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Windows (http://forum.oszone.net/forumdisplay.php?f=7)
-   -   Скрипт по условию. (http://forum.oszone.net/showthread.php?t=69960)

Butunin Klim 17-08-2006 09:43 473319

Скрипт по условию.
 
Задача немного не обычна.
Что есть.
Есть Сервера 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 473336

Мысль возникла такая.
Создаем 2 батника на к1

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

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


Butunin Klim 17-08-2006 11:42 473398

И так сам посидел сам подумал порисовал и решил загадку.
Делаем на к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 473527

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

Butunin Klim 17-08-2006 15:51 473567

Вложений: 1
Вобщем вот что получилось

amel27 18-08-2006 03:50 473833

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 473891

amel27
Проблема в том что нужно что бы не стразу на все заливались файлы а сначало на один потом с этих двух на другие 2, потом с 4 на другие 4 и так далее. Каскад такой своеобразный

amel27 18-08-2006 09:37 473899

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


Время: 22:46.

Время: 22:46.
© OSzone.net 2001-