IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Обсуждение программ (http://www.imho.ws/forumdisplay.php?f=3)
-   -   [FAQ] Немного про архивацию и резервное копирование. Скрипты и архиваторы. (http://www.imho.ws/showthread.php?t=148170)

Borland 19.03.2015 17:38

Немного про архивацию и резервное копирование. Скрипты и архиваторы.
 
Комментарий Модератора:
Borland:
Оффтоп из топика "Файл .BAT для стековой перенумерации файлов - нужен совет"
Оффтоп, конечно, но...
Цитата:

Сообщение от MeatEater (Сообщение 1781103)
с переходом на архивацию от zip на 7z, из-за ограничений по размеру архива у zip

:confused:
Вообще-то у архивов zip уже довольно давно нет ограничения на размер файла в 4Гб. В настоящее время ограничение формата - 16EiB (16 экзабайт, или 2^64 байт). Достичь этого предела в ближайшее время вам не удастся чисто физически - в силу отсутствия дискового хранилища подходящей ёмкости :gigi:...
И с такими архивами умеют работать все современные архиваторы, которые вообще понимают .zip, включая встроенные средства WinNT 6.x (Vista и всё, что новее)...

MeatEater 19.03.2015 19:56

Ну, если уж оффтоп... Действительно, современные архиваторы не страдают ограничением, или не должны бы страдать. Но вот у меня Win7, и как-то архив начиная с примерно 2ГБ родными средствами не читается. Не знаю, почему так. Под родными я понимаю только то, что само открывается из Тотал Коммандера допотопной и примитивной сборки, не адского комбайна. Это как раньше говорили: у меня синенькие не появились, имея в виду, что при загрузке системы не вылез Norton Commander. Ну и у меня почти так. Есть, чем большой архив создать и посмотреть, конечно. Скорее, дело в том, что у nnBackup, которую я использую в большинстве случаев для создания стека архивов, есть свое ограничение - для больших архивов в любом случае к заданию нужно подключать внешний архиватор. Я выбрал 7z, как бесплатный и с собственным легким файл-менеждером, ну и с более плотной паковкой, по сравнению с zip, как бонус. Но вот nnBackup как-то не очень заработала с 7z, да и с другими архиваторами тоже. Я думаю, в силу недостаточной прямизны моих рук на момент их стыковки. Поэтому я стал использовать 7z для архивирования напрямую без nnBackup, а работу со стеком архивов взял на себя Ваш скрипт.

Думаю, что (никакой вообще?) архиватор сам по себе не справится с ведением стека архивов. Так что 7z + этот скрипт = самое то. А nnBackup может еще икрементное архивирование делать и дифференциальное, или как оно правильно называется. Но это к теме вообще не относится.

Plague 19.03.2015 20:03

Цитата:

Сообщение от MeatEater (Сообщение 1781125)
из Тотал Коммандера допотопной

вот потому и не открывается. при этом не нужно комбайнов и сборок (сам их терпеть не могу) - достаточно саму версию актуальной более-менее держать. у Rayzak'а в этом плане подпись хорошая. ;) :contract:

Borland, сочтёшь нужным - удали :)

MeatEater 19.03.2015 20:16

Plague, это так. Но дело все-таки не в этом - не заработали вместе nnBackup + любой из архиваторов. То есть был нужен стек архивов (скрипт). Его сейчас можно пристроить и с новым zip, например. Изначально вопрос был не в ограничении на размер архива, а в отсутствии механизма поддержки стека у любого архиватора из имеющихся у меня. Я ведь и не утверждаю, что перепробовал все существующие архиваторы. Так что скрипт в любом случае был нужен.

UPD: Я бы тему немного изменил - в конце добавил бы, что здесь годный скрипт...

Borland 19.03.2015 22:39

Я, конечно, дико извиняюсь, но "главные архиваторы" (каковыми я считаю Winrar и 7-zip) имеют достаточно развитые средства версионирования для целей резервного копирования. В частности - добавление текущих даты/времени в имя архива.
Имея архивные копии с именами типа backup_YYYYMMDD-HHMMSS.7z - количество хранимых архивных копий запросто ограничивается одной (первой) командой скрипта архивации, без всяких "стеков". Просто удаляются все архивные копии кроме последних <N> (собственно, аналог "размера стека"). Буквально такой командой:
Код:

for /f %%N in ('dir /b /A:-D /O:-N "backup_????????-??????.7z" ^|more +2') do del /q "%%N"
(N=2) И никаких проблем с переименованием...
У меня на работе, собственно, именно так производится резервное копирование БД (правда, последнее время даже без архивации - просто на HDD хранятся пара последних по времени дампов БД в папках с соответствующими именами). Архивация дампов даёт совсем небольшой выигрыш по объёму, но очень сильно загружает сервер - дешевле сразу кинуть дамп на ленточку, что и делается.
Скрипт резервного копирования запускается стандартным виндовым шедулером, без всякого доп. софта. Он довольно большой (~5k), но около 80% скрипта - команды формирования лога, проверки свободного места, отправки административных оповещений и т.п. Собственно процедура резервного копирования - полтора десятка строк из ~120...

P.S. Отделил оффтоп в отдельную тему.

MeatEater 19.03.2015 23:24

Вот и у меня именно такие архивы YYYYMMDD-HHMMSS-backup.7z, но главное - как раз это:
Цитата:

Сообщение от Borland (Сообщение 1781133)
Просто удаляются все архивные копии кроме последних

- это делает скрипт перед тем, как создать очередной архив. Он удаляет последнюю копию и сдвигает остальные. Понимаю, что можно было ограничиться удалением последней копии без переименования 1_ и т. д., но именно так делает остальные архивы nnBackup, и скрипт позволяет сохранить визуальное подобие результатам работы nnBackup.

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

Plague 20.03.2015 13:18

особо не вникал, но тут вроде что-то на эту тему
https://gallery.technet.microsoft.com/scriptcenter/Backup-create-rotate-files-59178a89

MeatEater 22.03.2015 11:39

Цитата:

Сообщение от Plague (Сообщение 1781142)
особо не вникал, но тут вроде что-то на эту тему
https://gallery.technet.microsoft.co...files-59178a89

Оно вроде там и неплохо, но нужно 3 конфига, чтобы этот скрипт работал. В общем, скрипт из родительского топика - это наше все.

Кстати, о 7zip по этой ссылке. Там юзер пишет:
When I try to backup "d:\FilesToSave" 7zip throws an access denied error for "d:\System Volume Information"]
THIS IS A 7ZIP ERROR NOT A PROBLEM WITH THIS SCRIPT.

У меня тоже такое сообщение вылезало. Я уж думал, диску карачун пришел, а это проблема архиватора, видимо.

Borland 22.03.2015 12:50

Цитата:

Сообщение от MeatEater (Сообщение 1781162)
это проблема архиватора, видимо

Винда запрещает доступ к папке "System Volume Information". It's by design.
Сомневаюсь, чтобы это была проблема архиватора, скорее что-то со скриптом: 7-zip пользуюсь регулярно, и ни разу не замечал, чтобы он лез куда не просят. Если полез - значит его об этом попросили.
Разбираться в чужом скрипте на powershell мне, откровенно говоря, просто лень. :gigi:

Plague 22.03.2015 14:38

бекапить "System Volume Information" - сильный ход :biggrin:

На самом деле - смотреть в конфиге (который там не приведен) - почему он туда полез...

MeatEater 22.03.2015 19:34

У меня такое вылезало, когда архивируемая папка лежала в корне диска. Когда в субдиректории - не вылезало. Но, возможно, это просто совпадение, экспериментов не ставил.

Ну и да, насчет бекапа System Volume Information - как раньше мы жили без этого...

Borland 23.03.2015 16:30

Только что провёл натурный эксперимент. Действительно, при попытке упаковки папки, лежащей в корне диска, консольный 7-zip выдаёт парочку предупреждений (Warning), но отнюдь не ошибок (Error):
Код:

WARNINGS for files:

d:\$RECYCLE.BIN\S-1-5-21-4110688054-3202405352-2483837530-500\ : Отказано в доступе.

d:\System Volume Information\ : Отказано в доступе.

----------------
WARNING: Cannot find 2 files

При запуске "От имени администратора" остаётся только второе предупреждение.
Тем не менее - архив нормально создаётся, и никаких следов "проблемных папок" в нём нет.

Т.е. да, это ошибка 7-zip. Но некритичная, ибо нормальной работе не мешает.
Offtop:
Хотя и любопытно - какого 7-zip пытается лезть куда не просят.:gigi:


Если пакуется не папка из корня диска, а только её содержимое, либо папка НЕ из корня диска - проблема вообще не возникает.

Plague 23.03.2015 19:33

Цитата:

Сообщение от Borland (Сообщение 1781188)
Хотя и любопытно - какого 7-zip пытается лезть куда не просят.

читает родительскую директорию полностью, а затем выбирает нужное. других мыслей у меня не возникает. хотя вопрос "Нахрена?" остаётся актуальным и в этом случае… :biggrin: :idontnow:


Часовой пояс GMT +4, время: 23:08.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.