Главная > Unix-like, Администрирование > Linux: Как архивировать с помощью zip.

Linux: Как архивировать с помощью zip.

zipПриветствую всех.

На самом деле, всё описанное тут, весьма тривиально, но, лично у меня, возникли достаточно большие проблемы как с попыткой интуитивного использования командной утилиты для архивирования zip, так и с чтением документации. Почему-то, tar и gzip для меня гораздо проще и понятней, а для того чтобы заархивировать директорию с помощью zip ушло далеко не 5 минут и наш диалог с zip, какое-то время, заканчивался заявлениями "zip error: Nothing to do!" - мол, ничего не поделать тут. Man-pages для zip тоже показались весьма запутанными. Поэтому, чтобы не гуглить в следующий раз, выкладываю краткую инструкцию по архивирования с помощью zip'а в linux из-под консоли.

Ставим сам пакет, для дистрибутивов на основе debian это выглядит так:
sudo apt-get install zip

Архивируем нужную папку:
zip -9 zetblog.zip -r zetblog -x "*.git*" -x "*.venv*" -z

Небольшое пояснение к аргументам zip:

  • -9 - задаёт степень сжатия, 9 - самое сильное и самое медленное;
  • zetblog.zip - имя архива который надо создать;
  • -r - флаг рекурсивного обхода;
  • zetblog - диреткория, которую будем архивировать;
  • -x - не добавлять в архив файлы и директории, которые попадают под указанную маску;
  • -z - этот флаг означает что мы хотим ввести комментарий для архива, комментарий будет считан из stdin, для завершения ввода нужно ввести строку содержащую одну точку и больше ничего.

Остальное можно подглядеть читая man zip.

Пожалуйста, оцените полезность и качество данной статьи. Одна звезда - плохо, 5 - хорошо.
1/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.2/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.3/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.4/5.5/5. (6 голосов, средний: 4,33 из 5)
Загрузка...
  1. Олег
    18 марта 2014 в 13:59 | #1

    Спасибо за статью - единственное что-то достойное нашёл в сети именно у Вас по описанию терминальной команды ZIP.
    Сам выбрал архиватор ZIP потому что, если делать бэкапы стандартной утилитой tar, то на выходе идут крякозябры в русских именах. А с утилитой ZIP получаем сразу 3 плюса:
    1. можно открыть архив с помощью Windows даже не имея на борту архиватора.
    2. русские имена файлов и папок вкладывает в архив в нормальной кодировке.
    3. степень сжатия выше чем у tar.

    Сам же я модифицировал Ваш пример вот так:
    zip -9 /backups/backups_`date +%Y.%m.%d_%H_%M`.zip -r /fileshare ,
    где
    -9 - описано выше в статье
    /backups/ - папка с подмонтированным сетевым диском в ntfs;
    backups_`date +%Y.%m.%d_%H_%M`.zip - имя файла, в котором `date +%Y.%m.%d_%H_%M` обозначает, что к имени файла будет приплюсована дата и время создания;
    -r - описано выше в статье
    /fileshare - сетевая папка, подлежащая архивированию.

  1. 5 февраля 2017 в 14:52 | #1