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

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

Ответить
Настройки темы
CMD/BAT - Не создается лог целостности архива.

Аватара для diagnoz_

Ветеран


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

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


Здравствуйте. Сделал следующий пакетный файл для резервного копирования БД через 7zip с одного ПК по сети на другой ПК, ну и закинул его в шедулер :

Код: Выделить весь код
cmdow @ /HID
@echo on
chcp 1251
:: Определение переменных сред для каталогов
set PROG="c:\Program Files\7-Zip\7z.exe"
set SOURCE="Источник_копирования"\*
set DESTINATION="\\server\\папка\папка1\папка2\Backup_"%DATE%.7z
%PROG% a -mx=9 -ssw %DESTINATION% %SOURCE%\*
:: Тестирование архива на целостность и вывод результатов в файл
%PROG% t "\\server\\папка\папка1\папка2"\*.7z -bse0 >> backup_%DATE%.log

Резервное копирование отрабатывает, затем происходит тестирование архива, но вот не пишется лог в тот каталог куда и происходит копирование архива, а вместо того пишется в каталог установки 7zip с датой создания. если же вручную запускаю этот bat из того каталога где он лежит, то лог создается в том же каталоге, где и сам bat-файл. Подскажите, что не так, возможно нужно внести еще какие-то коррективы в код? спасибо.

Отправлено: 09:15, 18-12-2017

 

Ветеран


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

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


diagnoz_, уберите «chcp 1251» и просто сохраняйте пакетный файл в кодировке OEM/866. Кавычки также не стоит указывать в значениях переменных окружения, указывайте их непосредственно в командах, то есть вот так:
Код: Выделить весь код
set PROG=c:\Program Files\7-Zip\7z.exe
set SOURCE=Источник_копирования\*
set DESTINATION=\\server\\папка\папка1\папка2\Backup_%DATE%.7z
"%PROG%" a -mx=9 -ssw "%DESTINATION%" "%SOURCE%\*"
Цитата diagnoz_:
но вот не пишется лог в тот каталог куда и происходит копирование архива, а вместо того пишется в каталог установки 7zip с датой создания. если же вручную запускаю этот bat из того каталога где он лежит, то лог создается в том же каталоге, где и сам bat-файл. »
Всё именно так, как и заказывали:
Цитата diagnoz_:
%PROG% t "\\server\\папка\папка1\папка2"\*.7z -bse0 >> backup_%DATE%.log »
— Вы ведь не указываете путь, вот он и берётся для backup_%DATE%.log текущим.

Если требуется:
Цитата diagnoz_:
лог в тот каталог куда и происходит копирование архива »
то его и укажите.
Примерная болванка (не проверялось)
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

rem Определение переменных сред для каталогов
set sApplication=%ProgramFiles%\7-Zip\7z.exe
set sSource=Источник_копирования\*
set sDestination=\\server\\папка\папка1\папка2\
set sFileName=Backup_%DATE%

"%sApplication%" a -mx=9 -ssw "%sDestination%\%sFileName%.7z" "%sSource%"

rem Тестирование архива на целостность и вывод результатов в файл
>>"%sDestination%\%sFileName%.log" "%sApplication%" t -bse0 "%sDestination%\%sFileName%.7z"

endlocal
exit /b 0

Я, правда, не понял, зачем Вы подавляете поток ошибок при тестировании? В чём смысл? И само тестирование зачем — ведь можно просто использовать ExitCode, возвращаемый 7-Zip, при создании архива?
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:51, 18-12-2017 | #2



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

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


Аватара для diagnoz_

Ветеран


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

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


Iska, спасибо, Вы как всегда на высоте.
Цитата Iska:
Кавычки также не стоит указывать в значениях переменных окружения »
тестово убрал кавычки из путей, но не сработал файл. мелькнуло консольное окно и все - тишина.

А болванка сработала как полагается.

Отправлено: 10:43, 18-12-2017 | #3


Ветеран


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

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


diagnoz_, из путей убирать не надо. Убирать надо из значений переменных окружения. Я ж даже пример на основе Вашего кода приводил:
Код: Выделить весь код
set PROG=c:\Program Files\7-Zip\7z.exe
set SOURCE=Источник_копирования\*
set DESTINATION=\\server\\папка\папка1\папка2\Backup_%DATE%.7z
"%PROG%" a -mx=9 -ssw "%DESTINATION%" "%SOURCE%\*"
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:54, 18-12-2017 | #4


Аватара для diagnoz_

Ветеран


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

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


получилось.

Отправлено: 11:01, 18-12-2017 | #5


Аватара для diagnoz_

Ветеран


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

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


Странно, эта конструкция без кавычек сработала только локально, с диска на диск. но по сети нет:
Цитата Iska:
set PROG=c:\Program Files\7-Zip\7z.exe
set SOURCE=Источник_копирования\*
set DESTINATION=\\server\\папка\папка1\папка2\Backup_%DATE%.7z
"%PROG%" a -mx=9 -ssw "%DESTINATION%" "%SOURCE%\*"
»
а именно: копирование реально идет, но не пойми куда, хотя путь указан явно. только лог создался и тот пустой. архив не создается.

Та же история и с болванкой...

Отправлено: 11:38, 18-12-2017 | #6


Ветеран


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

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


Цитата diagnoz_:
а именно: копирование реально идет, но не пойми куда, хотя путь указан явно. »
Я бы сказал — не пойми откуда. Вы видели, что у Вас получается в итоге в источнике? Я вижу его по Вашему коду как "Источник_копирования\*\*".

Смотрите код, который я привёл выше в «Примерная болванка (не проверялось)».

Отправлено: 11:47, 18-12-2017 | #7


Аватара для diagnoz_

Ветеран


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

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


Iska,
упустил, в пути к каталогам есть русские буквы и пробелы, от того и ставил кавычки. или не надо? так как Вы указали в переменных - это я уже уяснил.

Отправлено: 12:57, 18-12-2017 | #8


Ветеран


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

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


diagnoz_, кавычки обязательны, если есть пробелы, но я лично обрамляю пути кавычками в любом случае, независимо от того, могут ли там быть пробельные символы (не только пробелы) или не могут быть.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:21, 18-12-2017 | #9


Аватара для diagnoz_

Ветеран


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

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


Iska, никак не могу прикрутить, например, предложенную болванку для копирования по сети. выяснил, что это копирование " в никуда", идет прямо в корень того диска, куда должно идти копирование, вместо диск:\папка\пака\папка! да и плюс, не и выполняется копирование Всех, файлов в архив, а только папки и их содержимое, а те Файлы которые в корне основной папки, пропускаются.

Отправлено: 08:58, 19-12-2017 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Не создается учетная запись 3DpacTe Microsoft Windows 10 6 21-01-2016 11:48
Не создается подфорум!!! Dzhigurda Хочу все знать 7 17-04-2015 17:38
HDD - не создается раздел Maxvel17 Накопители (SSD, HDD, USB Flash) 10 24-12-2014 14:14
2008 - [решено] sfc/scannow не удается провести сканирование целостности файлов Windows Server 2008 Rubick Windows Server 2008/2008 R2 12 10-01-2012 20:55
Разное - Проверка целостности - не принимает родной диск. sokolovpa Microsoft Windows 2000/XP 11 04-08-2010 07:31




 
Переход