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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Выполнение консольной программы (http://forum.oszone.net/showthread.php?t=246758)

mxm199 12-11-2012 13:09 2024025

Выполнение консольной программы
 
Доброго всем времени суток!
Не знаю в ту ли тему пишу, просто не знаю куда ещё.

Имеется Win2003 + автоматизатор действий xStarter, работает как сервис, очень интересная штука, настроил с помощью неё много полезных действий (бекапы/копирование и прочее), кому интересно почитает сайт, но к сожалению форум там пребывает в запустении, ответ там не нашёл.

Суть проблемы такая - настроил проведение бекапа БД + некий регламент с рабочей БД (HyTech), xStarter берёт последний еженочный автоматический бекап БД (rar) с основного сервера, копирует и устанавливает БД на себе (где работает xStarter), проводит некоторые действия с БД и запаковывает в архив обратно. Полностью описывать не буду - нет смысла, так как непрофильный форум.
В процессе xStarter запускает внешнюю консольную утилиту (простой exe'шник с параметрами запуска, выполняет sql-запрос к БД), скажу сразу - вся задача в совокупности работает отлично.
НО вот и нюансы -
ночной автоматический бекап БД создаётся примерно +/- в 2-30 ночи, я настроил выполнение задачи xStarter'а в 3-00 - всё отрабатывается и создаётся новый архив просто отлично.

У xStarter'а есть возможность запуска задачи не только по времени, но и по условию "появление нового файла", т.е. xStarter мониторит папку ночных бекапов и при появлении нового ночного архива и доступности его на открытие запускает задачу.

Странности -
при настроенном запуске задачи при "появлении нового файла", задача начинает нормально выполняться сразу после создания ночного архива, штатно отрабатывает все пункты скрипта, но только до шага запуска консольной утилиты - утилита не применяет sql-запрос к БД, закрывается с кодом завершения "Ошибка в параметрах".
НО если я просто днём, хоть сейчас, подкладываю вручную в папку ночных бекапов архив БД, xStarter обнаруживает новый файл и запускает задачу - ТО утилитка отлично отрабатывает что надо!

Сумбурно всё описал, но хочется как-то решить проблему....
Суть -
при запуске задачи по времени в 3:00 - утилита отрабатывает нормально!
при запуске задачи ночью по обнаружении файла - не отрабатывает :(
при запуске задачи днём по обнаружении файла - отрабатывает нормально!
На сервере никаких хитрых настроек нет, просто файл-сервер с расшаренными папками, просто включен, даже не залогинен, т.е. состояние сервера неизменно, никаких других программ/задач на нём не выполняется, вот и сейчас посмотрел - ночью утилита не сработала, подложил файл вручную - всё отработало нормально, игрался с утилиткой, и заворачивал с настройками в bat/cmd, по-разному прописывал параметры, результат тот же.

Интересует наверное подсказки не по xStarter'у, он работает, а что может мешать нормально отработать утилите, какие логи в системе посмотреть. Настраивал аудит папки с утилитой, но там видно только то, что было обращение к утилите (совпадает с логами xStarter), но результатов не видно.

Всем кто дочитал до конца заранее спасибо!

Iska 12-11-2012 14:50 2024076

mxm199, попробуйте добавить в Ваше задание простую временную паузу на некоторый интервал времени (заведомо больший, нежели время, затрачиваемое на создание этого архива) перед запуском утилиты командной строки.

Т.е.: сработало событие на возникновение нового файла в папке, Ваше действие начало исполняться и тут, первым делом, Вы просто добавьте временную паузу потребного значения. А затем уже запускайте утилиту и т.д.


Время: 06:39.

Время: 06:39.
© OSzone.net 2001-