Смоленск.Me

Блог законченного пессимиста и неисправимого оптимиста

Резервное копирование файлов с помощью 7-zip

7zipНебольшой пример того, как организовать резервное копирование важных файлов и не нагружать себя поиском и выбором специализированных программ. Конечно, вариант не без недостатков, но для моих задач подходит идеально. Никаких программ устанавливать не нужно, денег платить тоже.

Начнем пожалуй. Из инструментальных средств нам потребуется 7-Zip Command Line Version (7za920.zip - 375Kb) и блокнот.

Теперь нужно определиться с местом куда мы будем сохранять backup, для меня самый подходящий вариант флешка. Создаем в корне папку 7zip backup и распаковываем в нее содержимое архива 7za920.zip. Затем создаем в этой же папке два файла filelist.txt и backup.bat. В backup.bat добавляем следующее:

7za a -t7z backup-%date%.7z -mx9 @filelist.txt -scsWIN -ssw

@echo off

pause

Подробно разберем команду архивации.

  • 7za - запускаем утилиту архивации.
  • a - ключ создания архива.
  • -t7z - указываем тип архива, в нашем случае 7z.
  • backup-%date%.7z - указываем имя архива, выражение %date% добавит к имени архива текущую дату.
  • -mx9 - указываем степень сжатия архива.
  • @filelist.txt - ссылаемся на файл содержащий список файлов, которые мы резервируем.
  • -scsWIN - указываем кодировку списка файлов, если в названии файлов содержится кириллица, то выбираем WIN.
  • -ssw - позволяет архивировать открытые для чтения файлы.

Можно еще сразу защитить архив паролем, для это используйте параметр -p.

Команды @echo off и pause нужны нам чтобы убедиться что все прошло успешно.

Теперь нужно дополнить список (filelist.txt) нужными файлами, при этом допускается указания отдельный файлов, файлов по маске (*.doc) или просто отдельных папок.

На этом пожалуй все. Если возникли вопросы пишите в комментарии. Удачи!

6 комментарев

  1. avatar
    #1 | shawty | 02.12.2010 в 13:28:13

    У меня вопрос!

    В каком виде должен быть путь к папкам? Сам процесс активации начинается после запуска backup.bat?

  2. avatar
    #2 | alonebit | 04.12.2010 в 20:08:24

    Примеры указания путей:

    Файл: C:\Folder\filename.ext
    Файлы по маске: C:\Folder\*.ext
    Папка: C:\Folder
    

    Процесс активации ручной, но не составляет особого труда автоматизировать процесс с помощью стандартного планировщика заданий Windows.

  3. avatar
    #3 | Max | 02.06.2011 в 14:35:04

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

  4. #4 | 77799 | 09.12.2011 в 09:59:34

    У меня тоже вопрос,а где записывать путь сохранения архива?

  5. #5 | Leps | 06.03.2012 в 12:58:15

    для записи в лог можно использовать

    "любая команда" >C:\log.txt

    пример:

    7za a -t7z name.7z -mx9 *.* >C:\log.txt

    или результат выполнения бат-файла

    test.bat>C:\log.txt

  6. avatar
    #6 | PunKHS | 20.04.2012 в 09:09:12

    А можно ли использовать системную переменную %TIME% в имени архива? Если да, то как? У меня не получилось...

Оставьте комментарий!


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