|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Резервное копирование |
|
|
CMD/BAT - [решено] Резервное копирование
|
Ветеран Сообщения: 2798 |
Профиль | Отправить PM | Цитировать
Собственно есть такой батник, который архивирует (с помощью 7z) нужные мне папки, затем подключает как сетевой диск нужную мне папку с nas-сервера и копирует архив туда (может как-то попроще можно? а то выглядит как костыль...)
Скрытый текст
echo off :START_COMPRESS ECHO started at %time%, %date% "C:\Program Files\7-Zip\7z.exe" a -y -ssw -t7z -mx5 "C:\register centr\backups\%date:~0,2%.7z" "C:\register centr\BASE" "C:\register centr\IN" "C:\register centr\OUT" ECHO done at %time%, %date% IF %errorlevel%==0 goto START_COPYING ELSE goto START_COMPRESS :START_COPYING net use p: \\backup\BACKUPS\Register_secretar copy "C:\register centr\backups\%date:~0,2%.7z" p:\ /Y net use p: /delete Вопросов несколько: 1. Как сделать так чтобы записать лог всего этого? Можно конечно сделать второй батник и его запускать вот так "D:\первыйбатник.bat">d:\log_%date%.txt но тогда во время работы самого батника (первого) ничего не будет визуально заметно, а там сам 7z пишет в командную строку прогресс архивирования в процентах, хотелось бы это видеть. 2. Какую кодировку нужно использовать (и что сделать чтобы ее "применить") чтобы стандартный виндовый (хр) блокнот нормально читал логи? Дело в том что некоторые архивируемые файлы имеют русские названия, соответственно кириллица превращается в кракозябры. 3. Суть батника в том что он каждый день будет создавать архивы 01.7z, 02.7z и т.д. по дням, и соответственно когда наступит первое число следующего месяца - нужно архив перезаписать. Это по дефолту делается или нужно указать какие-то дополнительные параметры? 4. Если присутствует "говнокод" - просьба на это указать, я пока учусь и соответственно хотелось бы учиться делать правильно а не абы работало |
|
Отправлено: 16:58, 13-07-2015 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать 3. Судя по ключу /Y архив перезапишет существующий при копировании. Больше можно ничего ничего не указывать.
2. 866 1. Что именно нужно логировать? Если достаточно времени/даты начала/завершения то это добавление нескольких ECHO в файл лога. например: Да и изначальный вариант с Цитата Charg:
|
|
Отправлено: 17:46, 13-07-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Charg:
Цитата Charg:
Цитата Charg:
Цитата Charg:
|
||||
Отправлено: 18:55, 13-07-2015 | #3 |
Ветеран Сообщения: 2798
|
Профиль | Отправить PM | Цитировать Цитата Elven:
Но не знаю как. А вообще само содержание лога в случае успеха не важно, а вот если что-то пошло не так - хотелось бы видеть то что пишет сам 7z. Ну или net\copy если ошибка на этих этапах. Цитата Elven:
Цитата Iska:
Цитата Iska:
|
||||
Отправлено: 22:56, 13-07-2015 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Charg:
Цитата Charg:
Цитата Charg:
@echo off setlocal enableextensions enabledelayedexpansion set sConstPath=C:\register centr "%ProgramFiles%\7-Zip\7z.exe" a -y -ssw -t7z -mx5 "\\backup\BACKUPS\Register_secretar\%date:~3,2%.7z" "%sConstPath%\BASE" "%sConstPath%\IN" "%sConstPath%\OUT2" || >>"BAD_log_%date%.txt" echo Error: !ErrorLevel! endlocal exit /b 0 Цитата Charg:
|
|||||
Отправлено: 00:26, 14-07-2015 | #5 |
Ветеран Сообщения: 2798
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
А exit /b 0 зачем? После архивирования еще ж нужно в этом же батнике архив переместить на nas, а exit /b 0 заканчивает работу батник при %errorlevel%==0, насколько я понял из справки? Цитата Iska:
|
|||
Последний раз редактировалось Charg, 15-07-2015 в 11:19. Отправлено: 09:53, 14-07-2015 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Charg:
Цитата Charg:
"%ProgramFiles%\7-Zip\7z.exe" a -y -ssw -t7z -mx5 "\\backup\BACKUPS\Register_secretar\%date:~3,2%.7z" "%sConstPath%\BASE" "%sConstPath%\IN" "%sConstPath%\OUT2" || >>"BAD_log_%date%.txt" echo Error: !ErrorLevel!
Цитата Charg:
Цитата Charg:
|
||||
Отправлено: 11:28, 14-07-2015 | #7 |
Ветеран Сообщения: 2798
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Лог только получается какой-то бесполезный. Изменил для теста путь чтоб архив писался на \\backup1 (такого устройства естественно нет) и изменил имя одной из архивируемых папок - в логе просто "Error: 2". А надо бы чтоб было всё это:
D:\>forum.bat
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 Scanning C:\register centr\OUT2: WARNING: Не удается найти указанный файл. Creating archive \\backup1\BACKUPS\Register_secretar\14.7z WARNINGS for files: C:\register centr\OUT2 : Не удается найти указанный файл. ---------------- WARNING: Cannot find 1 file Error: 7-Zip cannot open file \\backup1\BACKUPS\Register_secretar\14.7z Не найден сетевой путь. System error: Неопознанная ошибка |
|
Последний раз редактировалось Charg, 14-07-2015 в 13:18. Отправлено: 13:02, 14-07-2015 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Charg:
Цитата 7-Zip Help:
Цитата Charg:
|
|||
Отправлено: 13:32, 14-07-2015 | #9 |
Ветеран Сообщения: 2798
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 14:36, 14-07-2015 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Помогите с двумя скриптами (резервное копирование и копирование с условием) | n_i_x | Программирование в *nix | 3 | 21-06-2015 01:54 | |
Резервное копирование | skynet88 | Хочу все знать | 1 | 27-11-2014 15:27 | |
Debian/Ubuntu - Резервное копирование. | Tankistspb | Общий по Linux | 2 | 25-02-2008 11:56 | |
Резервное копирование!! | Forest_G | Хочу все знать | 2 | 09-06-2006 17:36 | |
Резервное копирование | dimon55 | Хочу все знать | 1 | 01-08-2003 23:55 |
|