Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Система - Планировщик и скрипт архивации c помощью ntbackup

Ответить
Настройки темы
Система - Планировщик и скрипт архивации c помощью ntbackup

Пользователь


Сообщения: 50
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Udar_Nick
Дата: 29-09-2010
Описание: добавление
Приветствую уважаемый форум!

Стащил из http://forum.oszone.net/post-616207-2.html
скрипт архивации c помощью ntbackup
настроил под себя... и..
наткнулся на странную проблему..

скрипт отрабатывает при запуске дв.кликом, при запуске из шедулера, но только если залогонен пользователь!
это же задание шедулера не выполняется если юзер не залогонен :-(
запуск из шедулера под админским аккаунтом (домен АД)
в логах системы ничего
в логах шедулера "The task completed with an exits code of (1)"

ОС Windows Server 2003 R2 Service Pack 2 ENG

Подскажите, пожалуйста, что делать?

Заранее благодарен,
Александр

Отправлено: 11:56, 29-09-2010

 

Пользователь


Сообщения: 50
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата amel27:
стандартный приём: запускать батник с параметрами типа "test.cmd >c:\err.log 2>&1" »
Итак, в шедулере у меня такая строка (все как здесь, т.е. без кавычек, не знаю нужны они или нет)
Код: Выделить весь код
C:\WINDOWS\system32\cmd.exe /c E:\backup\database\database.cmd >c:\err.log 2>&1
поставил в расписание - сделал LOG OFF - подождал - смотрю содержимое файла c:\err.log
Код: Выделить весь код
E:\backup\database>SetLocal EnableDelayedExpansion 

E:\backup\database>SET SOURCE=D:\resourse\backup_bases 

E:\backup\database>SET FULLDEPTH=3 

E:\backup\database>SET INCRDEPTH=5 

E:\backup\database>Call :CallEx GetState 

E:\backup\database>Call :GetState 

E:\backup\database>For /F "Delims=" %i in (database.ini) Do Set /A %i+0 

E:\backup\database>Set /A INCREMENT=0 +0 

E:\backup\database>If "0" == "" (
Echo INCREMENT=0  1>database.ini  
 For /F "Delims=" %i in (database.ini) Do Set /A %i+0  
 If Not "!INCREMENT!" == "0" (
Set INCREMENT=0  
 Exit /B 2 
) 
) 

E:\backup\database>GoTo :EOF 

E:\backup\database>If 0 EQU 1 (
Echo. 
 Echo Модуль "GetState" вызвал исключение, работа скрипта прервана!  
 Exit  
) 

E:\backup\database>If 0 EQU 2 Echo Модуль "GetState" вызвал некритичную ошибку, работа скрипта продолжена. 

E:\backup\database>GoTo :EOF 

E:\backup\database>Call :CallEx DelLogs 

E:\backup\database>Call :DelLogs 

E:\backup\database>Set $BakData=~0,-17\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data 

E:\backup\database>Del /Q /F "~0,-17\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\backup*.log"  1>nul 
The system cannot find the path specified.

E:\backup\database>If 1 NEQ 0 Exit /B 1 

E:\backup\database>If 1 EQU 1 (
Echo. 
 Echo Модуль "DelLogs" вызвал исключение, работа скрипта прервана!  
 Exit  
) 

Модуль "DelLogs" вызвал исключение, работа скрипта прервана
Большое спасибо, что откликнулись
Что с этим делать дальше не знаю...

Отправлено: 15:16, 30-09-2010 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Moderator


Сообщения: 53444
Благодарности: 15497

Профиль | Отправить PM | Цитировать


Цитата Udar_Nick:
Set $BakData=~0,-17
Вот оно что, переменная APPDATA не определяется (если вход не интерактивный).
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:23, 30-09-2010 | #12


Пользователь


Сообщения: 50
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата NiOl:
Думаю проблема в пользователе, который используется шедулером - попробуйте простой тест, что будет на выходе после шедулера?
Код:
@echo %USERDOMAIN%\%USERNAME%: %CD%>%~dpn0.txt »

задание выполняется под OFFICE\Aleks

в шедулере: cmd /c C:\test.cmd (содержащий Вашу строчку)

на выходе получил файл в корне диска C: с именем test.txt содержащий:
Код: Выделить весь код
OFFICE\Aleks: C:\WINDOWS\system32

Спасибо что откликнулись :-)

Отправлено: 15:28, 30-09-2010 | #13



Moderator


Сообщения: 53444
Благодарности: 15497

Профиль | Отправить PM | Цитировать


Udar_Nick, в принципе, можно заменить строчку (их две штуки):
Код: Выделить весь код
Set $BakData=%APPDATA:~0,-17%\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data
на:
Код: Выделить весь код
Set $BakData=%UserProfile%\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:33, 30-09-2010 | #14


Пользователь


Сообщения: 50
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
Udar_Nick, в принципе, можно заменить строчку (их две штуки): »
УРА! СПАСИБО! РАБОТАЕТ!

Отправлено: 15:47, 30-09-2010 | #15


Пользователь


Сообщения: 50
Благодарности: 0

Профиль | Отправить PM | Цитировать


Приветствую уважаемый форум!

Опять столкнулся с проблемкой по этому скрипту...

Решение выше заработало на Win 2003 Enterprice Server SP2 ENG

А вот на Win XP SP3 RUS - скрипт не отрабатывает... причем пока запускаю его не шедулером, а руками

делаю вывод ошибок в файл, вот его содержимое
Код: Выделить весь код
:\Documents and Settings\Reanimator>SetLocal EnableDelayedExpansion 

C:\Documents and Settings\Reanimator>SET SOURCE="@C:\backup-log\admin03.bks" 

C:\Documents and Settings\Reanimator>SET FULLDEPTH=5 

C:\Documents and Settings\Reanimator>SET INCRDEPTH=6 

C:\Documents and Settings\Reanimator>Call :CallEx GetState 

C:\Documents and Settings\Reanimator>Call :GetState 

C:\Documents and Settings\Reanimator>For /F "Delims=" %i in (admin03.ini) Do Set /A %i+0 

C:\Documents and Settings\Reanimator>Set /A INCREMENT=1 +0 

C:\Documents and Settings\Reanimator>If "1" == "" (
Echo INCREMENT=0  1>admin03.ini  
 For /F "Delims=" %i in (admin03.ini) Do Set /A %i+0  
 If Not "!INCREMENT!" == "0" (
Set INCREMENT=0  
 Exit /B 2 
) 
) 

C:\Documents and Settings\Reanimator>GoTo :EOF 

C:\Documents and Settings\Reanimator>If 0 EQU 1 (
Echo. 
 Echo Модуль "GetState" вызвал исключение, работа скрипта прервана!  
 Exit  
) 

C:\Documents and Settings\Reanimator>If 0 EQU 2 Echo Модуль "GetState" вызвал некритичную ошибку, работа скрипта продолжена. 

C:\Documents and Settings\Reanimator>GoTo :EOF 

C:\Documents and Settings\Reanimator>Call :CallEx DelLogs 

C:\Documents and Settings\Reanimator>Call :DelLogs 

C:\Documents and Settings\Reanimator>Set $BakData=C:\Documents and Settings\Reanimator\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data 

C:\Documents and Settings\Reanimator>Del /Q /F "C:\Documents and Settings\Reanimator\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\backup*.log"  1>nul 

C:\Documents and Settings\Reanimator>If 0 NEQ 0 Exit /B 1 

C:\Documents and Settings\Reanimator>GoTo :EOF 

C:\Documents and Settings\Reanimator>If 0 EQU 1 (
Echo. 
 Echo Модуль "DelLogs" вызвал исключение, работа скрипта прервана!  
 Exit  
) 

C:\Documents and Settings\Reanimator>If 0 EQU 2 Echo Модуль "DelLogs" вызвал некритичную ошибку, работа скрипта продолжена. 

C:\Documents and Settings\Reanimator>GoTo :EOF 

C:\Documents and Settings\Reanimator>Call :CallEx StartCMD 

C:\Documents and Settings\Reanimator>Call :StartCMD 

C:\Documents and Settings\Reanimator>Set $CMD=ntbackup backup "@C:\backup-log\admin03.bks" /f "c:\backup-log\admin03.0.bkf" /l:f /m incremental /a 

C:\Documents and Settings\Reanimator>If 1 EQU 0 Set $CMD=ntbackup backup "@C:\backup-log\admin03.bks" /f "c:\backup-log\admin03.bkf"  /m normal /l:f 

C:\Documents and Settings\Reanimator>Start /WAIT ntbackup backup "@C:\backup-log\admin03.bks" /f "c:\backup-log\admin03.0.bkf" /l:f /m incremental /a 

C:\Documents and Settings\Reanimator>If 0 NEQ 0 (
Call :CallEx CopyLog  
 Echo При выполнении резервного копирования возникли ошибки,  
 Echo Смотрите журнал сообщений: "admin03.log".  
 Exit /B 1 
) 

C:\Documents and Settings\Reanimator>Call :CallEx CopyLog 

C:\Documents and Settings\Reanimator>Call :CopyLog 

C:\Documents and Settings\Reanimator>Set $BakData=C:\Documents and Settings\Reanimator\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data 

C:\Documents and Settings\Reanimator>If 1 EQU 0 (Copy "C:\Documents and Settings\Reanimator\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\backup*.log" admin03.log  1>nul )  Else (Copy /B admin03.0.log+"C:\Documents and Settings\Reanimator\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\backup*.log" admin03.0.log  1>nul ) 

C:\Documents and Settings\Reanimator>If 1 NEQ 0 Exit /B 1 

C:\Documents and Settings\Reanimator>If 1 EQU 1 (
Echo. 
 Echo Модуль "CopyLog" вызвал исключение, работа скрипта прервана!  
 Exit  
) 

Модуль "CopyLog" вызвал исключение, работа скрипта прервана
Подскажите пожалуйста, в чем может быть ошибка?

Отправлено: 12:02, 10-02-2011 | #16



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Система - Планировщик и скрипт архивации c помощью ntbackup

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 - Система архивации Windows Server 2008 HellFire_MZ Windows Server 2008/2008 R2 20 07-06-2012 10:45
Службы - [решено] Отказ центра архивации и восстановления infod Microsoft Windows Vista 7 04-03-2008 14:58
Архивация при помощи NTBackup (Ежедневное увеличение времени архивации) veryom Microsoft Windows NT/2000/2003 1 29-01-2008 12:55
[решено] Востановление с помощью ntbackup Han2005 Microsoft Windows NT/2000/2003 1 10-01-2008 11:53




 
Переход