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

Компьютерный форум 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

 

Аватара для diagnoz_

Ветеран


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

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


Пример, моим кодом папки архивируются, а файлы ниже нет.

Последний раз редактировалось diagnoz_, 14-11-2019 в 16:57.


Отправлено: 09:03, 19-12-2017 | #11



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

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


Ветеран


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

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


Цитата diagnoz_:
Iska, никак не могу прикрутить, например, предложенную болванку для копирования по сети. выяснил, что это копирование " в никуда", идет прямо в корень того диска, куда должно идти копирование, вместо диск:\папка\пака\папка! »
Покажите результирующий код, который Вы использовали.

Отправлено: 09:33, 19-12-2017 | #12


Аватара для diagnoz_

Ветеран


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

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


Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

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

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

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

endlocal
exit /b 0
При таком исполнении копирование идет в корень сетевого диска, но со всем содержимым.

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

На проверку архива, не смотрите, я уже о ней и не думаю...

В пути "куда копировать", как ранее писал есть пробелы в названии папок с русскими буквами.

Отправлено: 09:43, 19-12-2017 | #13


Ветеран


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

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


diagnoz_, используйте rem, а не ::. Не надо 7zG.exe, пусть будет 7z.exe. В sDestination должен быть только путь, зачем Вы туда опять втиснули имя файла, которое в моём коде определяется отдельной переменной и ниже?

Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

rem Определение переменных сред для каталогов
set sApplication=%ProgramFiles%%\7-Zip\7z.exe
set sSource=F:\папка\*
set sDestination=\\server\папка1\папка2\папка2\папка3
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
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:19, 19-12-2017 | #14


Аватара для diagnoz_

Ветеран


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

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


Iska, архив кидало в корень диска потому, что не видело в пути папок с русскими именами, а именно:
Код: Выделить весь код
\\ip_adress_server\drive_name\папка_с русскими_буквами\папка_с_русскими_буквами
с иероглифами в пути в папках с русскими символами.
указав для примера путь полностью на латинице, все отлично сохранилось по указанному пути.

Последний раз редактировалось diagnoz_, 19-12-2017 в 12:58.


Отправлено: 12:51, 19-12-2017 | #15


Ветеран


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

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


Цитата diagnoz_:
Iska, архив кидало в корень диска потому, что не видело в пути папок с русскими именами, »
Уфф…
Цитата Iska:
diagnoz_, уберите «chcp 1251» и просто сохраняйте пакетный файл в кодировке OEM/866. »
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:04, 19-12-2017 | #16


Аватара для diagnoz_

Ветеран


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

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


Iska, да за кодировку понял из первого Вашего поста.. это я как бы объяснил сам себе

и кстати, в коде выше, нет строки chcp 1251. вот я за него и говорю. его и пробовал использовать. сам же bat сохранен OEM/866 (пользуюсь Notepad ++). строка с русскими буквами выходит снова не по тому пути,если путь "русский": "X:\╨æ╤â╤à╨│╨░╨╗╤é╨╡╤Ç╨╕╤Å\╨¢╨╡╨╜╨░ ╨Ü\╨á╨╡╨╖╨╡╤Ç╨▓╨╜╤ï╨╡ ╨▒╨░╨╖╤ï 1╨í"

Последний раз редактировалось diagnoz_, 19-12-2017 в 13:15.


Отправлено: 13:09, 19-12-2017 | #17


Аватара для diagnoz_

Ветеран


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

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


а если в коде стоит \\server\drive_name\New folder\New folder\New folder, то код отрабатывается успешно по этому пути. "русский" путь, код минует и пишется с начала в корень диска, где имя диска на латинице, а затем пошли папки с иероглифами как выше, и в конечной папке архив.

Последний раз редактировалось diagnoz_, 19-12-2017 в 13:32.


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


Ветеран


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

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


Цитата diagnoz_:
и кстати, в коде выше, нет строки chcp 1251. »
Она и не нужна при сохранении в кодировке OEM/866.

Цитата diagnoz_:
сам же bat сохранен OEM/866 (пользуюсь Notepad ++). строка с русскими буквами выходит снова не по тому пути,если путь "русский": "X:\╨æ╤â╤à╨│╨░╨╗╤é╨╡╤Ç╨╕╤Å\╨¢╨╡╨╜╨░ ╨Ü\╨á╨╡╨╖╨╡╤Ç╨▓╨╜╤ï╨╡ ╨▒╨░╨╖╤ï 1╨í" »
Значит, Вы что-то делаете не так в Notepad++. Вам следует:
  • создать новый файл (\Файл\Новый);
  • сохранить этот файл (\Файл\Сохранить как…, bla-bla-bla.cmd);
  • сменить кодировку на OEM/866 (\Кодировки\Кодировки\Кириллица\OEM 866);
  • скопировать код с форума и вставить в окно;
  • сохранить файл.
Вы же сначала вставляете/набираете текст, затем выбираете его представление, в результате чего отображается белиберда, а содержимое файла как было, так и осталось в умолчальном для Notepad++ UTF-8/65001.

Вообще, Notepad++ не самый удачный выбор для работы с пакетными файлами. Самый удачный — Far Manager и его редактор:
Пример:

Последний раз редактировалось Iska, 19-12-2017 в 14:15.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:32, 19-12-2017 | #19


Аватара для diagnoz_

Ветеран


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

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


Заморил я Вас. сделал, как Вы написали выше, но увы, поверьте, снова "минует" "русский"путь в коде и какого-то черта начинает сохранять с корня диска\╨æ╤â╤à╨│╨░╨╗╤é╨╡╤Ç╨╕╤Å\╨¢╨╡╨╜╨░ ╨Ü\╨á╨╡╨╖╨╡╤Ç╨▓╨╜╤ï╨╡ ╨▒╨░╨╖╤ï 1╨í". ну и если путь на английском, вида: \\server\drive_name\New folder\New folder\End folder, оо все гаразд, архив создается в End folder.
я когда-то, менял кодировку в cmd на этой windows Server 2003, думается все отсюда и растет.

P.S. да черт с той белибердой, ничего не мешает создать отдельно папку на латинице и сохранять архивы туда.

Отправлено: 14:20, 19-12-2017 | #20



Компьютерный форум 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




 
Переход