• Шаблоны для вашего сайта
  • Сделать сайт
  • Реклама
  • Berry CSS
  • Albireo Framework
  • Бесплатный HTML-курс
  • Telegram-канал
  • Обратная связь
MaxSite.org
О создании сайтов и не только
Создание сайтов под ключ (Украина) →
Вход
×
или зарегистрироваться

Использование 7-Zip для бэкапа

СофтПросмотров: 3078Комментарии: 014 ноября 2020 г.

Раньше я делал бэкапы с помощью RoboCopy. С ним всё замечательно кроме одного — размер бэкапа получается достаточно большим. Это особо заметно на текстовых файлах, когда даже простое zip-сжатие позволяет уменьшить занимаемое место в несколько раз.

Другая проблема — в бэкапе может оказаться очень много файлов, скажем несколько тысяч. В итоге, когда такой бэкап нужно куда-то ещё скопировать (даже в «облако») передача каждого файла занимает много времени. Тогда я и задумался: может применить какой-то архиватор, чтобы он сжимал все файлы в один. Его и передать можно быстро и хранить проще.

Выбор пал на 7-Zip. Это бесплатно, хорошее сжатие, но главное, что у него есть все необходимые опции.

Самое важно, что 7-Zip позволяет обновлять файлы в архиве. То есть архиватор сравнивает новые файлы с тем, что есть в архиве и заменяет их на новые. Это существенно сокращает время.

Работа по созданию бэкапа организуется через параметры командной строки. После установки 7-Zip, в нём будет доступен файл справки 7-zip.chm, где можно посмотреть варианты использования. К сожалению русского и украинского языков нет на официальном сайте, а все сторонние содержат лишь неполные описания.

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

Типовой вариант (можно разместить код в bat-файле):

"c:\Program Files\7-zip\7z.exe" u -ssw -mx1 -uq0 -r "t:\backups\doc.7z" "D:\doc\*"

Сам 7-Zip запускается с полным именем. Все пути указываются в кавычках (так принято в Windows). Дальше идут ключи. После указывается файл архива и в конце — каталог-источник.

В данном случае будет использоваться каталог D:\doc\ со всем файлами, а результат помещён в t:\backups\doc.7z.

Здесь важный момент. Имя исходного каталога лучше сделать английским, то есть без русских символов. Проблема здесь в кодировке Windows и MSDos, поэтому, чтобы не было сюрпризов, лучше каталог сделать английским. А вот подкаталоги могут быть уже любыми.

Рассмотрим ключи.

  • u — указывает на режим работы — обновление в архиве. Если его нет, то он будет создан.
  • -uq0 — это режим обновления. Когда файл есть в архиве, но нет на диске, то файл будет проигнорирован. Есть ещё другие режимы, но для бэкапа этот в самый раз.
  • -ssw — работать с файлами, даже если они используются. Это позволяет делать бэкап, когда вы работаете с файлом — проблем не будет.
  • -mx1 — степень сжатия файла. 0 — без сжатия, 9 - максимально. Чем меньше сжатие, тем быстрее работает архиватор. Если размер архива небольшой, то сжатие можно увеличить.
  • -r — рекурсивное добавление каталогов. То есть добавлять все подкаталоги исходного.

Если вы выкладываете архив в Сеть, то его лучше запаролить.

"c:\Program Files\7-zip\7z.exe" u -ssw -mx1 -uq0 -r -pPASSWORD -mhe=on "t:\backups\secret.7z" "D:\secret\*"

Для пароля указывается ключ -p после которого сразу же идёт пароль (в этом примере «PASSWORD»). При открытии архива потребуется его ввести. Лучше, конечно указывать его английскими символами.

Ключ -mhe=on служит для шифрования «заголовков» самого архива. Это не позволит увидеть список его файлов без пароля.

Часто встречается задача, когда нужно сделать архив, но оставить старый. В этом случае лучше всего указать текущую дату в имени архива.

"c:\Program Files\7-zip\7z.exe" u -ssw -mx1 -uq0 -r "t:\backups\%DATE%-doc.7z" "D:\doc\*"

Здесь в имени файла указывается %DATE%, которая автоматом заменится на текущую дату: 13.11.2020-doc.7z. Строго говоря это уже не относится к 7z, а является стандартной возможностью командной строки Windows.

Дальше. Если нужно сделать бэкап, но исключить из него какой-то каталог. Например так я архивирую все локальные домены за исключением localhost (он отдельно архивируется).

"c:\Program Files\7-zip\7z.exe" u -ssw -mx1 -uq0 -r -xr!localhost "T:\backups\domains-no-localhost.7z" "D:\domains\*"

За это отвечает ключ -xr (исключение с «рекурсивностью»).

Ну и пара советов как лучше организовать хранилище.

  • По возможности отделяйте свои файлы от программ. Потому что программы всегда можно заново установить, а данные ценны сами по себе.
  • Если файлы архивов получаются достаточно большие, то лучше разделить исходный каталог на несколько и архивировать их по отдельности.
  • В одном bat-файле можно размещать несколько 7z-команд, то есть один клик и будет создано несколько архивов.

Создание сайтов (Украина) →
Админ-панель для Albireo
Обновление документации MF
twitter.com facebook.com
Другие записи сайта
Шаблон Prototype (Прототип)
Шаблон Prototype (Прототип)
Мысли вслух или почему Google лучше Яндекса
Мысли вслух или почему Google лучше Яндекса
Итоги 2021 года
Итоги 2021 года
Упрощение html-кода в Alpine.js
Упрощение html-кода в Alpine.js
Как я начал изучать Java и Android
Как я начал изучать Java и Android
Упорядочивание
Упорядочивание
Оставьте комментарий!

Комментарий будет опубликован после проверки. Вы соглашаетесь с правилами сайта.

(обязательно)

Навигация
  • Шаблоны для MaxSite CMS 22
  • jQuery и JavaScript 6
  • Java и Android 5
  • PHP/ООП 25
  • SQL 17
  • Albireo Framework 11
  • Berry CSS 7
  • CSS, HTML, LESS, SASS 23
  • PHP 37
  • Тайм-менеджмент 9
  • Софт 37
  • SEO 13
  • Git. GitHub 3
  • CodeIgniter 5
  • Landing Page 3
  • Alpine.js 14
  • Фильмы 2
  • Дневник 55

Здесь можно заказать создание сайта (только Украина), шаблона или лендинга. Также вы можете выбрать готовые шаблоны для MaxSite CMS по небольшой цене. Также можно купить отдельные модули, компоненты для вашего сайта.

MaxSite.org
Как создать свой сайт

Услуги по созданию сайтов, блогов, лендингов
Обратная связь • Реклама на сайте
Карта сайта
Мои проекты
  • Шаблоны для вашего сайта
  • Заказать создание сайта
  • MaxSite CMS
  • Berry CSS (CSS Utilities)
  • Albireo Framework
  • UniCSS (Universal Atomic CSS)
  • Landing Page Framework
  • Бесплатные НТML-курсы
Ссылки
  • Telegram-канал
  • Github
  • Twitter
  • Telegram-бот
  • RSS
© MaxSite.org, 2006-2022. Работает на MaxSite CMS | Время: 0.2678 | SQL: 20 | Память: 4.6MB | Вход