olegupbЦитата: опять ошибка
log за сегодня
Посмотрел лог...
1. Судя по логу "виновата" видимо задача
Backup_server, так же это первая задача (по порядку их ежеминутной проверки
nnCron'ом) которая содержит
Time: в шапке;
2. Поменяй местами задачи:
Backup_server и
purge-cron-log;
3. Еще (из логи видно) в задаче
remap_NOVELL в шапке надо добавить
SingleInstance, а в самом конце этой задачи паузу секунд на 30, может больше - этим мы исключим повторное срабатывание задачи;
4. Как решение последствий проблемы (но не самой проблемы) могу предложить следующую [more=задачку]#( ERROR_PASS_#_87
NoActive
: cron_dir ( -- a u ) tm.exe ONLYDIR ;
: StrNextAdr ( a u -- a+1 u-1 ) 1- SWAP 1+ SWAP ;
: StrPrevAdr ( a u -- a-1 u+1 ) 1+ SWAP 1- SWAP ;
: 2LastInStr { a1 u1 a2 u2 \ aprev uprev aprev2 uprev2 -- aprev uprev a3 u3 flag }
\ a1u1 - исходный текст, a2u2 - искомая строка
\ flag = 0 если искомая строка не найдена,
\ если flag=1, a3u3 - содержит текст от последнего вхождения искомой строки и до конца, aprev_uprev - содержит текст от предпоследнего вхождения
\ искомой строки и до конца, если вхождение только одно, то содержит пустую строку;
\ если flag=0, a3u3 - содержит исходный текст, aprev_uprev - пустую строку
u1 u2 < IF ." Исходный текст меньше строки поиска!" THEN
S" " TO uprev TO aprev
a1 u1
BEGIN
a2 u2 SEARCH
WHILE
uprev2 TO uprev aprev2 TO aprev
2DUP TO uprev2 TO aprev2
StrNextAdr
REPEAT
aprev uprev 2SWAP DUP u1 =
IF FALSE ELSE StrPrevAdr TRUE THEN
;
: GetLastLine ( a u -- a1 u1 flag )
2DUP 2>R crlf 2LastInStr
IF
2DUP NIP 2 =
IF
2OVER NIP 0=
IF
2DROP 2R>
ELSE
2R> 2DROP
2SWAP
StrNextAdr StrNextAdr
THEN
2- 2SWAP
ELSE
2R> 2DROP
StrNextAdr StrNextAdr 2SWAP
THEN
TRUE
ELSE
2R> 2DROP 2SWAP FALSE
THEN
NIP NIP
;
: WaitAccessFile { a u ms -- }
a u FILE-ATIME
BEGIN
ms PAUSE 2DUP
a u FILE-ATIME D<
IF 2DROP TRUE ELSE FALSE THEN
UNTIL
;
Time: START-TIME
Action:
BEGIN
cron.log 2DUP 10000 WaitAccessFile \ в цикле, с периодичностью 10000 мс, ожидаем когда лог nnCron'а будет изменен
2DUP 3 - S" bak" S+ 2DUP 2>R FCOPY 2R> \ делаем копию файла
2DUP FILE 2SWAP FDELETE \ прочитываем ее в память, а копию удаляем
GetLastLine \ получаем последнюю строчку из файла
IF
S" /.*ERROR PASS # 87/" RE-MATCH \ проверяем - содержит ли она сообщение об ошибке
IF
S" Перезагружаемся из-за ошибки: ERROR PASS # 87" crlf S+ CRON-LOG \ выводим в лог причину перезагрузки и перезагружаем nnCron
StartIn: "%cron_dir%"
START-APP: %COMSPEC% /c net stop nncron && \
start/wait nncron.exe 5000 PAUSE BYE && \
net start nncron
THEN
THEN
AGAIN
)#
[/more], старался естественно что бы ошибок не было, но гарантировать не могу
, поэтому для облегчения дальнейшего возможного обсуждения:
1. Создай файл, например,
ERROR_PASS.tab и подключи его в
nncron.ini по аналогии с
cron.tab;
2. Перезагрузи
nnCron 3. Строка №2 - не заккоментирована, перед тем как "пустить в свободное плавание"
nnCron с этой задачей, ее надо проверить: запусти эту задачу вручную из меню
nnCron'а, если после этого ошибок не появилось, то добавь злополучную строку с этой ошибкой (скопируй из старых логов) в конец лога
nnCron'а и сохрани..., если все работает правильно, то не позднее чем через 10 секунд
nnCron должен перезагрузиться;
4. Если все прошло нормально - расзакомментируй строчку №2 и сохрани этот кронтаб, если же где-то что-то не работает или появляются ошибки - рассказывай, будем пробовать их исправлять.
5. На оффоруме в соответствующем топике
сообщил о наших результатах.
Sarancha75Цитата: Переставил систему, теперь при запуске nnCron появляется ошибка, при запуске задач она же, т.е. работать невозможно...
1. Систему переставлял начисто или же поверх старой?
2. Комп входит в домен или рабочую группу или "самостоятелен"?
3. Покажи содержимое файла
nncron.out и лога с момента старта
nnCron' и до конца...
4. Если в
nncron.ini закомментировать/удалить все подключенные кронтабы (плагины) - тоже появляется ошибка?
5.
nncron.ini - тоже покажи
6. Посмотри в нормальной таскменеджере - с чьими правами запускается
nnCron?