|
Настройка планировщика Windows, чтоб срабатывал при изменении файла хранилища | ☑ | ||
---|---|---|---|---|
0
Armando
20.06.14
✎
00:56
|
Как настроить планировщик Windows Server 2008, чтоб при изменении файла запускался скрипт? Он такое умеет?
|
|||
1
Вазелин
20.06.14
✎
02:00
|
(0) нет
|
|||
2
Вазелин
20.06.14
✎
02:00
|
(0) + как вариант сделать ватник.
|
|||
3
ildary
20.06.14
✎
07:29
|
(0) берется autoit, в нем пишется процедурка, компилируется exe, ссылка на него кладется в autorun.
|
|||
4
Галахад
гуру
20.06.14
✎
07:54
|
А проверять. С переодичностью 1-5 минут. Или нужен он-лайн?
|
|||
5
PaulBC
20.06.14
✎
08:19
|
(0) Назначаешь аудит доступа к файлу. В задаче планировщика настраиваешь триггер на событие.
|
|||
6
vlandev
20.06.14
✎
08:50
|
(0) Если суть скрипта состоит в копировании чего-то куда-то то можно воспользоваться утилитой robocopy , там есть вотчер по событиям изменений в каталоге.
|
|||
7
Armando
20.06.14
✎
15:43
|
(3) Это и WMI можно, много чем.
(5) Спасибо, это получилось. В журнале генерится событие. Вешаю на это событие задачу. Как в задаче указать, что при изменении именно этого файла. Ибо срабатывать будет при изменении любого файла, на котором висит событие. (6) Нет, не копирование. |
|||
8
Armando
20.06.14
✎
16:00
|
+(7) там вроде надо корректный xpath запрос сваять. буду думать
|
|||
9
Armando
20.06.14
✎
16:26
|
Получилось. Кому интересно:
<QueryList> <Query Id="0" Path="Security"> <Select Path="Security">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 12800 and (EventID=4663)] and EventData[Data[@Name='ObjectName'] and (Data='ПолныйПутьФайла')]]</Select> </Query> </QueryList> |
|||
10
pumbaEO
20.06.14
✎
17:05
|
(0) раз в 5 минут разве недостаточно проверять на 1cd ?
У тебя на любом захвате будет ложное срабатывание. |
|||
11
Armando
20.06.14
✎
19:01
|
(10) Про захваты и отмены я потом догадался(
По событию кошерней было бы. Почему-то если с хранилищем работаешь через сервис, то в журнале не появляются записи с нужным EventID. Либо я что-то не так делаю. Но на тестовых текстовых файлах все срабатывает на ура. |
|||
12
Armando
20.06.14
✎
20:04
|
Либо виндовый аудит так работает, либо хранилище такой странный предмет. Если с файлом 1cv8ddb.1CD что-то интерактивно делаешь, даже просто свойства смотришь, то все прекрасно логается. Если из 1С захватываешь объекты, помещаешь объекты, то эти события практически не логаются, хотя видно как меняется время и размер файла хранилища.
|
|||
13
Armando
20.06.14
✎
20:09
|
Кстати в 20.00 прошел бекап сервера, по логам видно, что было обращение к файлу.
Кто в курсе, что там происходит? Почему в логах Windows нет событий обращения от crserver? |
|||
14
pumbaEO
20.06.14
✎
22:39
|
(13) тоже такое заметил. Как захватил файл, так его и держит.
Поэтому я проверяю размер файла, ну скорей jenkins проверяет его размеры и считает md5 для базы и только потом определяет изменился или нет. |
|||
15
Armando
20.06.14
✎
23:49
|
Кто такой jenkins? Гуглится мужик усатый какой-то. Что он делает?
|
|||
16
pumbaEO
20.06.14
✎
23:58
|
(15) build server
|
|||
17
Armando
21.06.14
✎
15:38
|
Вот что придумал:
1. WMI говорит, что файл хранилища изменился 2. Tool1CD выгружает таблицу Versions 3. Сравнивается время изменения файла со временем последнего коммита +- несколько секунд. Пока что заметил разницу в 5 секунд. 4. ??? 5. profit Жаль, что с планировщиком не получается( |
|||
18
Armando
21.06.14
✎
22:42
|
Можно еще жестче
http://msdn.microsoft.com/en-us/library/aa392282(v=vs.85).aspx здесь описано как регать свои события в журнал. Пишем некий mof файл, компилируем. При изменении нужного файла будет создаваться запись журнале. А на это событие можно повесить планировщик, который будет пинать скрипт. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |