Резервное копирование файлов с помощью 7-zip
Небольшой пример того, как организовать резервное копирование важных файлов и не нагружать себя поиском и выбором специализированных программ. Конечно, вариант не без недостатков, но для моих задач подходит идеально. Никаких программ устанавливать не нужно, денег платить тоже.
Начнем пожалуй. Из инструментальных средств нам потребуется 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 комментарев
У меня вопрос!
В каком виде должен быть путь к папкам? Сам процесс активации начинается после запуска backup.bat?
Примеры указания путей:
Процесс активации ручной, но не составляет особого труда автоматизировать процесс с помощью стандартного планировщика заданий Windows.
Класно все получилось, еще бы неплохо было если лог писался, ктонибуть подскажеть как это можно реализовать?
У меня тоже вопрос,а где записывать путь сохранения архива?
для записи в лог можно использовать
"любая команда" >C:\log.txt
пример:
7za a -t7z name.7z -mx9 *.* >C:\log.txt
или результат выполнения бат-файла
test.bat>C:\log.txt
А можно ли использовать системную переменную %TIME% в имени архива? Если да, то как? У меня не получилось...