Форум » Для флейма » Варианты архивирования своих баз ? » Ответить

Варианты архивирования своих баз ?

Andrey: Всем привет ! Поделитесь опытом, кто как делает резервное копирование баз ? У меня реализовано на вызове консольного RAR. Но это все же платная утилита. Хотел перейти на 7z, но он списки исключения не поддерживает. Заранее спасибо.

Ответов - 51, стр: 1 2 3 All

Pasha: Я использую библиотеку hbzlib для xHarbour. Примерно так: hb_ZipFile(cArcPath, aFiles,, ,, cPwd, .t.) для распаковки - функция HB_UnzipFile()

Andrey_IV: Странно насчет списков исключения в 7z А как же тогда опция: -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames Пример: 7z a -x@list_file arc_name *.* а в list_file: file1.prg file2.prg все работает! или речь не об этом ?

AlexMyr: Andrey пишет: У меня реализовано на вызове консольного RAR. Но это все же платная утилита. Есть Open-source ARJ __http://arj.sourceforge.net/ FreeArc — современный архиватор общего назначения. __http://freearc.org/ru/default.aspx


gfilatov2002: Есть еще такой бесплатный вариант на сайте http://www.backupbuilder.com Все настраивается, с поддержкой русского языка

Andrey: Andrey_IV пишет: все работает! или речь не об этом ? Блин, а у меня что-то не заработала... Буду еще пробовать. А как добавить файлы по списку "включения" (как в rar) ?

Andrey: Pasha пишет: Я использую библиотеку hbzlib для xHarbour. А можно чуть поподробней написать ? Код полностью встраивается в EXE-кик или внешняя DLL нужна ? Как прицепить к своему консольному приложению ? Как прицепить к MiniGui приложению ? Заранее спасибо.

AlexMyr: Andrey пишет: А как добавить файлы по списку "включения" (как в rar'e) ? [img src=/gif/smk/sm33.gif] Из хелпа по 7z: -i (Include filenames) switch Specifies additional include filenames and wildcards. Multiple include switches are supported. ... 7z a -tzip src.zip *.txt -ir!DIR1\*.cpp

Pasha: Andrey пишет: А можно чуть поподробней написать ? Это библиотека hbzip.lib, ее сырцы - в contrib Если ее ликовать, то все полностью будет в exe Хотя я делаю по другому, сделал из нее dll, но это уже дело вкуса

gfilatov2002: Andrey пишет: Как прицепить к MiniGui приложению ? Посмотри готовый пример в папке minigui\samples\basic\zip в котором используются следующие дополнительные библиотеки из поставки Харбора: - hbziparc - hbmzip - minizip - hbzlib

Andrey: AlexMyr пишет: Из хелпа по 7z: Блин, полночи долблюсь, по форумам лазию, никак не могу понять почему не исключаются из АРХИВА указанные папки ? 7-Zip 9.18 beta, нашел русский хелпер. Bat -файл: @echo off J:\MyProga\UTILI\7z.exe a -r -ssw "C:\@ARX\Архив-БД_2011.01.17.7z" J:\MyProga\*.* -x@Nobackup7z.lst echo . echo ===== АРХИВ-БД создан в папке ==== echo --- C:\@ARX\Архив-БД_2011.01.17.7z pause Nobackup7z.lst - файл: *.exe *.com *.pif *.prg *.lnk *.ico *.scr *.scl *.lex *.wbs *.bas *.chm J:\MyProga\BaseAbon.ini J:\MyProga\ZAIVKA\zaiv_arx.dbf J:\MyProga\ZAIVKA\zaiv_arx.fpt J:\MyProga\DBASE\abon2006.dbf J:\MyProga\DBASE\abon2007.dbf J:\MyProga\DBASE\abon2008.dbf J:\MyProga\DBASE\abon2009.dbf J:\MyProga\PLATA\plat2006.dbf J:\MyProga\PLATA\plat2007.dbf J:\MyProga\PLATA\plat2008.dbf J:\MyProga\PLATA\plat2009.dbf J:\MyProga\DOCUM\*.* J:\MyProga\IMPRT\*.* J:\MyProga\UTILI\*.* J:\MyProga\TEMP\*.* J:\MyProga\FORMS\*.* J:\MyProga\UPDATE\*.* Кто знает подскажите пожалуйста ! WinRar на таком файле работает !

Andrey: Вопрос снимается, нашел ответ: DBASE\abon2006.dbf DBASE\abon2007.dbf DBASE\abon2008.dbf DBASE\abon2009.dbf и т.д. Т.е. используютя не полные пути как в RAR'e ! При использование архива 7z сжатие на DBF-ках в 2-раза лучше. (Запуск 7z.exe a -t7z -mx7 ......) У rar собирает архив 4,5 Мб, а 7z - 2,5 Мб.

Andrey: Столкнулся с другой бедой... Не записывает пути файлов при архивировании !!! Т.е. файлы в архив добавляет без указания путей ОТКУДА (где лежит) файл находился ! Команда: 7z.exe a -ssw -t7z -mx7 -i@backup.add "C:\@ARX\Архив-БД.7z" Файл backup.add : J:\MyProga\UPDATE\update-new.txt J:\MyProga\UTILI\*.INI J:\MyProga\IMPRT\import*.dbf J:\MyProga\FORMS\print4.ini Где копать ?

AlexMyr: Andrey пишет: Файл backup.add : J:\MyProga\UPDATE\update-new.txt J:\MyProga\UTILI\*.INI J:\MyProga\IMPRT\import*.dbf J:\MyProga\FORMS\print4.ini Если это файлы в архиве, то они с путями, или не так?

AlexMyr: У себя использую freearc (нужен только arc.exe), такой батник cls @echo off setlocal set "curr_date=%date: =_%" set "curr_date=%curr_date:/=%" set "curr_date=%curr_date:.=%" set "curr_date=%curr_date:-=%" arc a stor c:\1cbases\ -mx -r -di=hacmwfk# -rr -ag -x*.cdx >%curr_date%.log Создается архив с именем stor20110101235505.arc, попадает весь каталог c:\1cbases\ за исключением файлов с расширением cdx.

Vladimir: Andrey Перед вызовом 7z.exe a -ssw -t7z -mx7 -i@backup.add "C:\@ARX\Архив-БД.7z перейди в каталог MyProga (CD MyProga) и из него вызывай 7-Zip. А в backup.add впиши UPDATE\update-new.txt UTILI\*.INI IMPRT\import*.dbf FORMS\print4.ini Как вариант, backup.add разместить отдельно от архивируемых файлов, тогда в команде архиватора вместо -i@backup.add потребуется указать путь к нему.

Andrey: AlexMyr пишет: Если это файлы в архиве, то они с путями, или не так? Файлы в архив записались, но БЕЗ путей !!! Просто архив и в нем эти файлы без путей....

Chikanuk: Вот такой вариант не пробовал? И исключения, и пути, и самораспаковывающийся архив, и в разные места сохраняет... Причем на флешку - всегда заново, а в SET _ARCPATH_ - только изменившиеся файлы. Для работы потребуются 7za.exe и 7z.sfx @ echo off COLOR 0C echo !!!! КОПИРУЕТСЯ БАЗА !!!! echo ПОДОЖДИТЕ ... SET _BASEPATH_="D:\-\" SET _ARCPATH_="D:\-\BACKUP\" SET _USBPATH_="F:\" :waiter rem echo Ожидание закрытия 1С... if exist %_BASEPATH_%\SYSLOG\links.tmp goto waiter rem getting current date for /f "tokens=1-4 delims=:,./- " %%I in ("%DATE%") do set BACKUP_DATE=%%K-%%J-%%I rem getting current time for /f "tokens=1-2 delims=:,./- " %%I in ("%TIME%") do set BACKUP_TIME=%%I-%%J COLOR 0A del %_USBPATH_%Base_backup.exe 7za.exe a -sfx7z.sfx %_USBPATH_%Base_backup %_BASEPATH_%*.* -x!*.cdx -r -t7z -mx1 7za.exe u %_ARCPATH_%BACKUP-%BACKUP_DATE% %_BASEPATH_%*.* -x!*.cdx -x!*.7z -r -tzip -mx1 PS: обнови 7z (беты - они и есть беты...).

Andrey: Vladimir пишет: перейди в каталог MyProga (CD MyProga) и из него вызывай 7-Zip. Не хочется заморачиваться с переходом ! Я же ОДИН архив делаю, чтоб юзер мне его прислал, а я мог распаковать и работать с ихними базами. А если сделать несколько команд: @echo off 7z.exe a -ssw -t7z -mx7 "C:\@ARX\Архив-БД.7z" J:\MyProga\UPDATE\update-new.txt 7z.exe a -ssw -t7z -mx7 "C:\@ARX\Архив-БД.7z" J:\MyProga\UTILI\*.INI 7z.exe a -ssw -t7z -mx7 "C:\@ARX\Архив-БД.7z" J:\MyProga\IMPRT\import*.dbf 7z.exe a -ssw -t7z -mx7 "C:\@ARX\Архив-БД.7z" J:\MyProga\FORMS\print4.ini Пути сохраняться ? Нет, пути не сохраняются и при таком варианте !!! Как мне заставит записать их в архив ???

Andrey: Chikanuk пишет: Для работы потребуются 7za.exe и 7z.sfx А чем отличается 7za от 7z ? Платный он или нет, какая лицензия на него ?

AlexMyr: Из хелпа 7z: a (Add) command Adds files to archive. Examples 7z a archive1.zip subdir\ adds all files and subfolders from folder subdir to archive archive1.zip. The filenames in archive will contain subdir\ prefix. Добавляет все файлы и субдиректории из диретории subdir в архив archive1.zip. Имена файлов содержат путь. 7z a archive2.zip .\subdir\* adds all files and subfolders from folder subdir to archive archive2.zip. The filenames in archive will not contain subdir\ prefix. Добавляет все файлы и субдиректории из диретории subdir в архив archive2.zip. Имена файлов не содержат путь. Andrey пишет: J:\MyProga\UTILI\7z.exe a -r -ssw "C:\@ARX\Архив-БД_2011.01.17.7z" J:\MyProga\*.* -x@Nobackup7z.lst Попробуйте убрать *.*, убрать -r J:\MyProga\UTILI\7z.exe a -ssw "C:\@ARX\Архив-БД_2011.01.17.7z" J:\MyProga\ -x@Nobackup7z.lst



полная версия страницы