Ru-Board.club
← Вернуться в раздел «Программы»

» gbackup

Автор: slecht
Дата сообщения: 05.09.2014 14:17
gbackup




Программа разработанная товарищем VitaminP

gbackup (60Кб) - упрощённый аналог nnbackup. Возможности: обычное и инкрементное архивирование; синхронизация; поддержка архиваторов Winrar и 7zip. Есть подробное описание на русском.
Программа "gbackup.exe" служит для систематической архивации и синхронизации файлов. Работает с командной строки. Для автоматизации запуска нужно использовать сторонний планировщик. Имеет 4 режима работы: стек полных архивов, инкрементный (добавочный) стек, двойной инкрементный стек и зеркальная копия файла(ов). Стек подобно стопке книг, новая находится сверху. Стек состоит из пронумерованных архивных файлов/папок и имеет свой размер, при достижении которого самые старые элементы выталкиваются из него снизу.
Архивирование может происходить как с использованием программ-архиваторов, так и без них. Поддерживаются внешние компрессоры 7-zip и Winrar, так же программа может создать свой компрессор Uda, который несмотря на миниатюрный размер и крайне низкую скорость работы по степени сжатия превосходит 7-zip. Без указания в параметрах запуска программы имени архиватора (по умолчанию) будет происходить копирование файлов в стек архивных папок, с именами и индексами подобно архивам.
С помощью программы можно осуществить перенос только изменившихся файлов c одного компьютера на другой, используя программу "gbackup.exe" и файл-список. Время создания файла-списка будет являться точкой отсчёта, в архив попадут все изменения, внесённые позже момента создания файла-списка (ключи "-i -s" или "-zerkalo -s").
Запускать задание на архивацию нужно каждый раз с одинаковыми параметрами командной строки (но возможны некоторые изменения). Можно сгруппировать задания на архивацию в скрипт "имя.cmd" или "имя.bat" и запускать уже его по расписанию.

Полная справка
[more] "gbackup.exe" v6.9 для Windows x32 - утилита создания бэкапов файлов.


ОПИСАНИЕ.
Программа "gbackup.exe" служит для систематической архивации и синхронизации файлов. Работает с командной строки. Для автоматизации запуска нужно использовать сторонний планировщик. Имеет 4 режима работы: стек полных архивов, инкрементный (добавочный) стек, двойной инкрементный стек и зеркальная копия файла(ов). Стек подобно стопке книг, новая находится сверху. Стек состоит из пронумерованных архивных файлов/папок и имеет свой размер, при достижении которого самые старые элементы выталкиваются из него снизу.
Архивирование может происходить как с использованием программ-архиваторов, так и без них. Поддерживаются внешние компрессоры 7-zip и Winrar, так же программа может создать свой компрессор Uda, который несмотря на миниатюрный размер и крайне низкую скорость работы по степени сжатия превосходит 7-zip. Без указания в параметрах запуска программы имени архиватора (по умолчанию) будет происходить копирование файлов в стек архивных папок, с именами и индексами подобно архивам.
С помощью программы можно осуществить перенос только изменившихся файлов c одного компьютера на другой, используя программу "gbackup.exe" и файл-список. Время создания файла-списка будет являться точкой отсчёта, в архив попадут все изменения, внесённые позже момента создания файла-списка (ключи "-i -s" или "-zerkalo -s").
Запускать задание на архивацию нужно каждый раз с одинаковыми параметрами командной строки (но возможны некоторые изменения). Можно сгруппировать задания на архивацию в скрипт "имя.cmd" или "имя.bat" и запускать уже его по расписанию.


ПАРАМЕТРЫ командной строки:
gbackup Папка1/Файл Папка2 [-n<Размер стека>] [-Архиватор[Сжатие]] [-i/-d/-zerkalo] [-r/-k] [-z/-e] [-p] [-o] [-s] [-v]

Папка1        = исходная (архивируемая) папка, допускается указание имени файла или маски имён файлов с подстановочными знаками "?" и "*".
Папка2        = конечная папка, место расположения файлов архива; если папка расположения архивов не существует, то она будет создана.
-n<Размер стека>    - количество архивов/папок в стеке (по умолчанию 9 для всех режимов) или номер, по который произойдёт восстановление из архива (в режиме восстановления из архивов).

Архиватор = имя архиватора (кроме режима "zerkalo"), по умолчанию - режим копирование файлов.
-winrar    - Winrar с графическим интерфейсом, должен быть установлен в Windows (расширение архивов "rar").
-rar    - консольный rar, входит в состав Winrar (расширение архивов "rar").
-7zg    - 7-zip с графическим интерфейсом, должен быть установлен в Windows (расширение архивов "7z").
-7z    - консольный 7-zip, входит в состав 7-zip (расширение архивов "7z").
-uda    - консольный UDA, создаётся программой (расширение архивов "uda").
Сжатие    = степень сжатия, число [1..4], по умолчанию 1.
ключи:
-i        - тип архивации Инкрементный стек, по умолчанию - стек полных архивов; будет создан стек инкрементных архивов, при заполнении которого первые два архива будут преобразовываться в один, а у остальных уменьшится индекс на 1; количество архивов в инкрементном стеке не менее 2-х, по умолчанию 9.
-d        - тип архивации Двойной Инкрементный стек, по умолчанию - стек полных архивов; будет создано два последовательных блока инкрементных архивов для ускорения сдвига в стеке (поблочный сдвиг осуществляется удалением 1-го блока и сдвигом 2-го на место 1-го в момент, когда 2-й блок будет заполнен), размер каждого блока равен установленному количеству архивов в стеке (ключ "-n.."); количество архивов в двойном инкрементном стеке не менее 2-х, по умолчанию 9.
-zerkalo        - режим синхронизации, по умолчанию - стек полных архивов; создание зеркальной копии исходной папки/файла.
-r        - сравнение исходных файлов со списком файлов по размеру, по умолчанию - сравнение по времени (для режимов i, d, zerkalo).
-k        - сравнение исходных файлов со списком файлов по контрольной сумме, по умолчанию - сравнение по времени (для режимов i, d, zerkalo).
-e        - формат архивов с расширениями ".exe" (самораспаковывающиеся, поддерживается всеми архиваторами), чтобы обойтись без программ - архиваторов при восстановлении файлов из архивов. Размер архива при этом не должен превышать 4ГБ.
-z        - формат архивов с расширениями ".zip" (консольные архиваторы Rar и Uda не поддерживают формат "ZIP").
-p        - исключая подкаталоги, действует только на Папка1/Файл.
-o[файл]        - создать Отчет [[Путь]ИмяФайла], путь по умолчанию - папка расположения "gbackup.exe", имя файла отчёта по умолчанию - "gbackup.log" .
-s        - при первом запуске архивации создать только список файлов (архив с индексом "1" не будет создаваться), если копия исходных файлов уже есть в другом месте (для режимов i, d; zerkalo); при последующем запуске будет создан архив с номером 2; нельзя использовать эту опцию для режима "i", если предполагается что количество архивов достигнет максимально установленного значения, после чего произойдёт слияние 2-х первых архивов (должно быть их наличие) и сдвиг в стеке.
-v        - восстановление файлов из созданных архивов; для восстановления файлов на другом компьютере необходимо нахождение в папке с архивами программы "gbackup.exe" и установленного в системе необходимого архиватора, в этом режиме параметр -n<число> - индекс восстанавливаемого архива. Так же указываются параметры, с которыми происходила архивация: имя архиватора и тип архивации (если был режим "-d", то в конце строки с параметрами прописывается ключ -d<число> со значением максимального количества архивов, установленное при архивации).

Примечания: Параметр "Папка1" должен следовать раньше, чем "Папка2", остальные параметры могут находиться в любом месте и порядке. Если путь к "Папке1" или "Папке2" не указан, то будет использован Текущий.


Дополнительные параметры командной строки для режимов "- i; -d; -zerkalo". Параметры позволяют указывать дополнительные включающие папки (файлы; маски файлов) относительно исходного Пути1, а так же исключающие фильтры для файлов:
gbackup Путь1 Папка2 [@<Файл-список>] [-$|-!<Дополнение>...] [-n<РазмерСтека>] [-Архиватор[Сжатие]] [-#<Исключение>...] [-~<Размер>[-]] [-i/-d/-zerkalo] [-r/-k] [-z/-e] [-p] [-o] [-s] [-v]

    Путь1        = архивируемый путь/файл(маска). Общий исходный путь для всех последующих Дополнений.
    @<Файл-список>    - дополнительные $|![Папки\][имена|маски] и #[Имена|маски] содержатся в файле; записываются один [путь\][файл|маска] на строку, в начале строки слитно команда "$", "!" или"#"; без начальных (конечных) слешей и кавычек; кодировка файла - Windows 1251. Другие записи и пустые строки в файле игнорируются.
    <Файл-список>    = [путь]имя_файла; если путь не указан, то будет использован Текущий.
    -$|-!<Дополнение>     = дополнение (продолжение) исходного Пути1 без начального слеша: -$|-! [Папка\][имя_файла|маска_файлов]. Ключей с вкючающими Дополнениями может быть много.
        -$    - включая подкаталоги.
        -!    - исключая подкаталоги.
    -#<Исключение>    - имя файла или маска имён файлов, которые будут исключены из общего списка обработки. Фильтр действует на все обрабатываемые файлы: -#имя_файла(маска_файлов). Ключей с исключениями может быть много. Ключ сработает так же и в режиме создания полных архивов без сжатия.
     -~<размер>[-]    - ограничение максимального [минимального, если в конце "-"] допустимого размера файлов. Допускаются приставки к размеру: k (кило - 10^3), m (мега - 10^6), g (гига - 10^9), t (тера - 10^12), p (пета - 10^15).Фильтр действует на все обрабатываемые файлы. Ключей может быть не более двух: с максимальным и минимальным ограничивающим размером.

Примечание: ключ "-p" в командной строке распростаняется только к имени файла(маске) исходного "Пути1", а обработка подкаталогов для каждого Дополнения указывается своя командой "$" или "!" .


ПРИМЕРЫ:
1. gbackup C:\InFolder D:\OutFolder -d
Архивация всех файлов каталога "C:\InFolder", включая подкаталоги в папку хранения архивов "D:\OutFolder" в двойной инкрементный стек архивных папок из 18 (9х2) элементов.

2. gbackup.exe C:\InFolder D:\OutFolder -rar -i
Архивация всех файлов каталога "C:\InFolder", включая подкаталоги в папку хранения архивов "D:\OutFolder" со сжатием консольным архиватором Rar со степенью сжатия "1" в стек инкрементных архивов из 9 элементов.

3. D:\Backup\gbackup C:\Документы D:\Архив -7zg3
Архивация всех файлов каталога "C:\Документы", включая подкаталоги в папку хранения архивов "D:\Архив" со сжатием архиватором 7-zip с графическим интерфейсом со степенью сжатия "3" в стек полных архивов из 9 элементов.

4. gbackup -7Z C:\InFolder D:\backup -$*.txt -#список.txt -od:\backup\backup.log -i -z
Архивация всех файлов "*.txt" каталога "C:\InFolder" кроме файлов с именем "список.txt", включая подкаталоги в папку хранения архивов "D:\backup" со сжатием консольным архиватором 7-zip со степенью сжатия "1" в инкрементный стек zip-архивов из 9 элементов. Отчёт будет создан в файле "d:\backup\backup.log".

5. gbackup D:\OutFolder D:\restore -v -i -z -7z
Восстановление файлов из инкрементных zip-архивов, содержащихся в папке "D:\OutFolder" в папку "D:\restore", с использованием консольного архиватора 7-zip. Восстановление происходит последовательно из всех архивных файлов.

6. gbackup -n11 C:\Исходная -rar D:\Конечная -d -e
Архивация всех файлов каталога "C:\Исходная", включая подкаталоги в папку хранения архивов "D:\Конечная" со сжатием консольным архиватором rar со степенью сжатия "1" в двойной инкрементный стек самораспаковывающихся архивов из 11 элементов. В этом режиме количество архивов в стеке будет колебаться от 12 до 22 (2 блока по 11 архивов в каждом), причём 1-й и 12-й - это полные архивы, а остальные - инкрементные.

7. gbackup D:\OutFolder D:\restore -n14 -v -e -d11
Восстановление файлов из двойного инкрементного самораспаковывающегося архива, содержащегося в папке "D:\OutFolder" в папку "D:\restore". Восстановление происходит из 12-го полного и 13-го, 14-го инкрементных архивных файлов. Так как архивация происходила с максимально установленным количеством архивов - 11 (при архивации был параметр "n11"), поэтому в конце строки параметров для восстановления указано: "d11", для указания программе количества архивов в одном блоке стека .

8. D:\Backup\gbackup.exe -n5 -Uda4 -e -p C:\InFolder D:\OutFolder
Архивация всех файлов каталога "C:\InFolder" без подкаталогов в папку хранения архивов "D:\OutFolder" со сжатием консольным архиватором UDA со степенью сжатия "4" в стек полных самораспаковывающихся (.EXE) архивов из 5 элементов.

9. gbackup "C:\*.txt" D:\rabota\arhiv -#readme.txt -#r*s??e.* -i
Архивация всех текстовых файлов диска "С:", включая подкаталоги в папку хранения архивов "D:\rabota\arhiv" без сжатия в стек инкрементных папок из 9 элементов. Будут исключены из общего списка обработки все файлы с именем "readme.txt" и файлы соответствующие маске "r*s??e.*".

10. D:\Backup\gbackup "d:\upr?.txt" "D:\New 2" -n6000 -WinRAR4 -i -p -z -o -r -s
Архивация текстовых файлов диска "D:" по маске "upr?.txt" без подкаталогов в папку хранения архивов "D:\New 2" в инкрементный стек из 6000 zip-архивов, созданный графическим архиватором WinRar с максимальным сжатием. Сравнение исходных файлов с файлом-списком происходит по размеру файлов. При первой архивации будет создан только список файлов, а при следующей архивации будет создан архив с номером "2" и т. д. до "6000". В папке с программой "gbackup.exe" будет создан файл "gbackup.log" с отчетом.

11. D:\Backup\gbackup "D:\New 2" D:\restore -n7 -v -i -e
Восстановление файлов из инкрементных самораспаковывающихся архивов содержащихся в папке "D:\New 2" в папку "D:\restore". Восстановление происходит последовательно из архивных файлов с 1-го по 7-й.

12. C:\gbackup.exe C:\Data\folder d:\arhiv -k -p -o -zerkalo
Будет выполнена зеркальная синхронизация папки "C:\Data\folder" без подкаталогов с папкой "D:\arhiv". Сравнение файлов из папки "folder" выполняется с файлом-списком находящимся в корне диска "D:" по контрольной сумме. В папке с программой "gbackup.exe" будет создан отчет в файле "gbackup.log".

13. gbackup -~1g "C:\InFolder\*.txt" D:\arhiv\OutFolder -zerkalo -~100-
Будет выполнена зеркальная синхронизация текстовых файлов папки "C:\InFolder" включая подкаталоги с папкой "D:\arhiv\OutFolder". В синхронизации не будут участвовать файлы, размер которых больше 1Гб и меньше 100 байт. Сравнение исходных файлов с файлом-списком будет выполнено по времени последней модификации.

14. gbackup C:\InFolder D:\arhiv\OutFolder @c:\list.txt -zerkalo -o -k -~10k-
Содержимое файла "list.txt":
$Музыка
Это коментарии ...
!Документальное Видео\*.mp4
$*.txt
#*.jpg

- Будет выполнена зеркальная синхронизация папки "C:\InFolder\Музыка" включая подкаталоги с папкой "D:\arhiv\OutFolder\Музыка".
- Будет выполнена зеркальная синхронизация файлов ".mp4" папки "C:\InFolder\Документальное Видео" без подкаталогов с папкой "D:\arhiv\OutFolder\Документальное Видео".
- Будет выполнена зеркальная синхронизация текстовых файлов папки "C:\InFolder" включая подкаталоги с папкой "D:\arhiv\OutFolder".
- Будут исключены из всего списка обработки все файлы с расширением ".jpg".
- Будут исключены из всего списка обработки все файлы, размер которых меньше 10КБайт .
Сравнение всех исходных файлов с файлом-списком будет выполнено по контрольной сумме. В папке с программой "gbackup.exe" будет создан отчет в файле "gbackup.log".

15. D:\Backup\gbackup "D:\New 2\*.xls" D:\Arhiv -n7 -$*.txt -!Разное\*.doc -!Отчёты\отчёт.xls -7z3 -n99 -d -e -p
Архивация всех ".xls" файлов из папки "D:\New 2" без подкаталогов в папку хранения архивов "D:\Arhiv". Архивация всех ".txt" файлов из папки "D:\New 2" включая подкаталоги в папку хранения архивов "D:\Arhiv". Архивация всех ".doc" файлов из папки "D:\New 2\Разное" без подкаталогов в папку хранения архивов "D:\Arhiv". Архивация файла из папки "D:\New 2\Отчёты\отчёт.xls" без подкаталов в папку хранения архивов "D:\Arhiv". Будет создан двойной инкрементный стек самораспаковывающихся архивов, сжатых консольным архиватором 7-zip со степенью сжатия 3 и максимальным количеством архивов в каждом блоке 99. Количество архивов в стеке при этом будет не менее 100.


Режим СТЕК ПОЛНЫХ АРХИВОВ.
В этом режиме каждый раз создается полный архив исходной папки, что требует больше дискового пространства, по сравнению с инкрементным режимом. Архивация может происходить как с использованием программ-компрессоров в стек архивных файлов, так и без них, копированием в стек папок. Стек архивных файлов/папок начинается с индекса 1 (arhiv_1) и заканчивается числом, установленным в параметрах запуска программы, по умолчанию 9.
При достижении максимального значения количества архивов, архив с индексом 1 удаляется, индекс остальных архивов уменьшается на 1, а новый архив занимает последнее освободившееся место.
В случае, если в режиме со сжатием новый архивный файл получился такой же, как и последний в списке, то он удаляется и в стеке изменений не происходит. Ключи [-r, -k, -s] не используются и список файлов не создаётся.


Режим ИНКРЕМЕНТНЫЙ (добавочный) СТЕК .
В этом режиме сначала создается полный архив исходной папки, затем каждый последующий создаваемый архив содержит только новые или изменившиеся файлы, а так же информацию об удалённых файлах с момента последней архивации. Этот режим позволяет значительно сократить общий размер архивов по сравнению с созданием полных архивов. При первой архивации в папке с архивами создаётся скрипт для автоматизации процесса восстановления файлов из архивов. Вместе с архивами хранится файл-список, содержащий информацию о текущем состоянии файлов в архиве. С помощью него и происходит сравнение файлов в архиве с исходными файлами. Имена файлов/папок в архивном стеке создаются по следующему принципу: первый полный архив имеет имя "arhiv_1", а каждый последующий имеет индекс на 1 больше предыдущего. В параметрах программы устанавливается максимальное количество архивов в стеке (по умолчанию 9), однако это количество для инкрементного режима не может быть меньше 2-х . По достижению установленного количества архивов происходит слияние архива с индексом 1 и архива с индексом 2. Объединенный архив получает индекс 1, а место под архив с индексом 2 остаётся свободным. Далее происходит сдвиг в стеке: уменьшение на 1 индексов всех архивов, кроме 1-го. А новый архив получает максимальный (освободившийся) индекс и находится в конце стека. Таким образом архив с индексом 1 при каждом слиянии будет содержать суммарную информацию разных архивов, а остальные архивы с индексом больше 1 будут содержать информацию только за один процесс архивации, чем и можно обеспечить в последствии откат на момент времени создания любого из этих архивов. Если при запуске архивации никаких изменений исходных файлов не произошло с момента последней архивации, то новый архив не будет создаваться. Если количество архивных файлов/папок не достигло установленного максимального значения и не предполагается сдвиг в стеке, то эти архивы можно переместить в другое место, а в конечной папке хранить только файл-список, можно так же не создавать архив при первой архивации, указав ключ "-s", если копия файлов уже есть в другом месте, но для режима "Восстановление" потребуется их восстановить на штатное место в соответствии с текущим форматом архивации (сжатие, имя, индекс).
В программе есть 3 режима сравнения исходных файлов со списком файлов:
1. По размеру файла 2. По времени последней модификации 3. По контрольной сумме файла
Первый - самый не точный, зато быстрый. Его можно использовать, если исходные файлы при их изменении могут менять свой размер только в одну сторону, например увеличение, либо редактирование файлов маловероятно, например фильмы, музыка, фото, установочные файлы программ.
Второй режим более точный и так же быстрый, но бывают случаи, когда из-за смены часового пояса в системе, переустановке Windows или при работе с разными файловыми системами, например FAT32 и NTFS происходит сбой времени изменения файла и одинаковые файлы принимаются за различные. Но такое происходит не часто .
И третий режим сравнения является самым точным, так как он проверяет файлы по содержимому посредством контрольной суммы. Алгоритм вычисления контрольной суммы выбран максимально простой и быстрый, тем не менее приходится читать полностью все исходные файлы и сравнивать их с файлом-списком, что требует дополнительного времени.
2-й и 3-й режимы включают в себя 1-й, то есть дополнительно выполняется сравнение размера файлов.


Режим ДВОЙНОЙ ИНКРЕМЕНТНЫЙ СТЕК.
Этот режим отличается от Инкрементного тем, что он состоит из 2-х последовательных блоков инкрементных архивов, с возможностью последующего быстрого сдвига в стеке целого блока архивов. Каждый блок начинается с полного архива и продолжается инкрементными. Размер каждого блока равен максимально установленному значению количества архивов в параметрах командной строки запуска. Когда 2-й блок будет заполнен, то произойдёт сдвиг блоков в стеке: 1-й блок будет удалён, 2-й переместится на место 1-го, после чего будет создан полный архив, с которого начнётся новый 2-й блок. Таким образом место, занимаемое архивами будет в 2 раза больше, чем в Инкрементном режиме, но так как не происходит слияний архивов и переупаковки (если со сжатием), то архивация будет происходить существенно быстрее, чем в простом инкрементном стеке. Количество архивных файлов (точек восстановления) будет не менее максимально установленного количества архивов. Устанавливаемое количество архивов в этом режиме не менее 2-х, по умолчанию - 9. В Двойном Инкрементном режиме если пришло время создавать полный архив, но были только удаления в исходных файлах, то архив создаваться не будет.


Режим ЗЕРКАЛЬНАЯ КОПИЯ.
В этом режиме происходит создание в конечной папке точной копии исходной. Как и при инкрементном архивировании создается файл-список имён исходных файлов (рядом с конечной папкой) для последующего сравнения. В качестве конечного пути не допускается указание буквы диска (должна быть папка). Поддерживаются ключи: [-r, -k, -o, -p, -s].


Режим ВОССТАНОВЛЕНИЯ из архива.
Если восстанавливать файлы из архивов в автоматическом режиме в момент, когда происходит архивация (если начнётся сдвиг в стеке), то может произойти сбой обоих процессов. Восстановить файлы из архивов можно 3-мя способами: с помощью скрипта "Restore.cmd", вручную (распаковывать и копировать файлы) или с командной строки с помощью программы gbackup.exe, задав необходимые параметры. При восстановлении из самораспаковывающихся архивов, архив сначала перемещается в конечную папку, в ней распаковывается и затем перемещается обратно. Поэтому лучше, чтобы этот процесс происходил в пределах одного диска (перемещение файла мгновенное), иначе дело затянется копированием архивных файлов на другой диск.


Восстановление файлов из Инкрементного Архива с помощью скрипта "Restore.cmd":
Для автоматизации процесса восстановления файлов из архивов программа создает в папке с архивами скрипт "Restore.cmd", после запуска которого нужно указать только номер архива (с нужной датой создания из свойств файла/папки) для извлечения. Если в качестве номера восстанавливаемого архива ввести "0", то будет выбран последний номер архива. При необходимости можно указать и путь для восстановления, а по умолчанию будет создана папка с именем текущей рядом с архивами. Для восстановления из архивных файлов на другом компьютере необходимо нахождение программы "gbackup.exe" в папке с архивами и если архивация была со сжатием, то нужен установленный в системе архиватор, которым создавались архивы (кроме самораспаковывающихся архивов). Архиваторы Winrar и 7-zip при отсутствии основного в системе могут быть замещены друг другом. Cкрипт "Restore.cmd" для каждого процесса архивации создаётся свой, поэтому они не взаимозаменяемы. Если некоторые архивы (папки) отсутствуют (за исключением 1-го архива), то чтобы процесс не прервался, то в качестве номера архива для восстановления нельзя указывать "0".

Восстановление файлов из Инкрементного Архива с помощью командной строки:
В качестве исходного пути указываем папку нахождения архивных файлов, а в качестве конечной указываем место будущего размещения восстановленных файлов. Если указать конечную папку ту же, что и исходная, то в ней будет создана папка с именем текущей, которая и будет являться конечным путём. Ключ "-v" - режим восстановления, n<число> - индекс архивного файла для восстановления (включая предшествующие), если указать "0", то произойдёт восстановление из всех архивов. В режиме Двойной Инкрементный Стек в параметрах командной строки в ключе "-d" необходимо указать максимально установленное количество архивов в стеке при архивации (например: "-v -d7", если при архивации был ключ "-n7"). Другие параметры запуска программы должны быть такими же, как и были при архивации. По ним программа будет знать в каком режиме происходила архивация и соответственно как восстанавливать. Степень сжатия архиватора указывать не нужно. Ключи [-p, -r, -k, -o, -s] в режиме восстановления не используются.

Ручное восстановление файлов из Инкрементного Архива:
1. Создаем конечную папку, в которую будем восстанавливать архивы.
2. Если было сжатие файлов, распаковываем первый архив "arhiv_1" в одноимённую папку (без сжатия эта папка уже есть).
3. Копируем содержимое папки "arhiv_1" в конечную папку.
4. Если было сжатие файлов, распаковываем следующий архив в одноимённую папку (без сжатия эта папка уже есть).
5. Копируем с заменой файлов содержимое этой папки в конечную папку.
6. В конечной папке запускаем скрипт "Deleted.cmd" (если он есть).
7. Повторяем пункты 4, 5, 6 до достижения архива с требуемой датой восстановления (дату и время создания всех архивных файлов/папок можно узнать по их свойствам).
8. В конечной папке удаляем скрипт "Deleted.cmd" (если он есть).

Ручное восстановление файлов из Двойного Инкрементного Архива:
-Если нужный индекс архива, из которого будем восстанавливать файлы равен максимально установленному количеству архивов при архивации, то этот архив является полным и просто распаковываем его в нужное место или копируем папку, если режим без сжатия.
-Если нужный индекс архива, из которого будем восстанавливать файлы меньше максимально установленного количества архивов, то восстановление из него такое же, как и инкрементного.
-Если нужный индекс архива, из которого будем восстанавливать файлы больше максимально установленного количества архивов, то восстановление из него такое же, как и инкрементного, только начинаем восстановление не с 1-го , а архива с индексом максимально установленного количества архивов.

Ручное восстановление файлов из Стека Полных Архивов:
1. Создаем конечную папку, в которую будем восстанавливать архив.
2. Если было сжатие файлов, то распаковываем, а без сжатия копируем полный архив с требуемой датой в эту папку.


ФАЙЛ - СПИСОК.
Во всех режимах, кроме режима "Стек Полных Архивов" в папке с архивами (в режиме "-zerkalo" рядом с конечной папкой) создаётся файл-список, в котором хранится перечень файлов в архиве и их параметры. Существуют 3 типа файлов-списков. В режиме сравнения по времени создаётся файл с расширением ".spv"; по размеру - ".spr"; по контрольной сумме - ".spk". Номер последнего архива в папке записан в первой строке файла-списка, исходя из него будет создан номер нового архива. В режиме "-zerkalo" в начале файла-списка хранится число, отображающее количество выполненных (были изменения) синхронизаций.
Можно изменить метод сравнения файлов ранее созданного (уже выполнявшегося) процесса архивации. Для этого рекомендуется выполнить последний раз архивацию с текущими параметрами (чтобы не потерять последние изменения файлов), затем изменить метод сравнения в параметрах командной строки запуска программы (ключи "-r", "-k") и запустить снова процесс архивации. В результате запуска программы с изменённым параметром будет создан только новый файл-список без архивации файлов (предполагается, что архивы актуальные). Далее процесс архивации будет проходить уже с новым методом сравнения файлов.


Особенности работы программы с АРХИВАТОРАМИ.
Для ускорения процесса создания бэкапа архиваторы "Winrar" и "Rar" при степени сжатия "1" и "2" добавляют в архив файлы без сжатия со следующими расширениями: "rar; 7z; uda; zip; cab; msi; png; jpg; jpeg; gif; mp3; wma; pdf; djvu; chm; xlsx; docx; mp4; avi; mkv; vob; mpg; mpeg; wmv; 3gp; flv; iflv; mov; ts", а при степени сжатия "3" добавляет без сжатия только файлы с расширениями "rar; 7z; uda". Приоритет процесса программ "Winrar.exe" или "Rar.exe" устанавливается низкий.
При необходимости программа создаёт файл консольного архиватора "Uda.exe" v 0.261 в своей папке и использует его как для создания архивов, так и для их распаковки. Архивы ".uda" можно распаковать так же архиватором с графическим интерфейсом WinUda v 0.271.
В режиме архивации при отсутствии архиватора "WinRar" в системе можно скопировать файл "Rar.exe" в папку нахождения "gbackup.exe" и программа подхватит его для архивации. В режиме архивации при отсутствии архиватора "7-zip" в системе можно скопировать файл "7za.exe" либо "7z.exe" + "7z.dll" в папку нахождения "gbackup.exe" и программа подхватит их для архивации. В этих случаях нельзя будет создать самораспаковывающиеся архивы.
В режиме восстановления если в системе отсутствует нужный архиватор, то он будет автоматически замещен другим: 7-zip <-> WinRar. В режиме восстановления из Rar-архива при отсутствии архиватора "WinRar" или "7-zip" в системе можно скопировать файл "Rar.exe" или "UnRAR.exe" либо "7z.exe" + "7z.dll" в папку нахождения "gbackup.exe" и программа подхватит их для распаковки архивов. В режиме восстановления из 7-zip архива при отсутствии архиватора "WinRar" или "7-zip" в системе можно скопировать файл "7za.exe" либо "7z.exe" + "7z.dll" в папку нахождения "gbackup.exe" и программа подхватит их для распаковки архивов.
Если в параметрах "gbackup.exe" выбран консольный архиватор "7-zip" или "Rar" (установлен ключ "-7z" или "-rar" и отсутствует ключ "-e") и в папке с программой есть файл архиватора "7za.exe" или "Rar.exe", то в первую очередь будет использован именно он.
При каждом создании инкрементного или двойного инкрементного архива со сжатием архиватором UDA, новые и изменившиеся файлы сначала копируются в конечную папку, а затем сжимаются архиватором, при этом атрибуты папок теряются. Такой порядок работы необходим для возможности фильтрации файлов.


ОСОБЕННОСТИ работы программы и возможные ошибки.
Если в параметрах командной строки присутствуют пробелы или подстановочные знаки "?" или "*" в параметре Путь1, то параметр должен быть заключён в кавычки. Заключённый в кавычки путь не должен заканчиваться символом "\", иначе произойдёт сбой.
Максимальный размер количества архивов в стеке до 4294967295. Если скрипт "имя.cmd" или "имя.bat" запуска архивации содержит символы кириллицы, то кодировка этого скрипта должна быть DOS-866, либо в начале скрипта должна быть команда "mode con codepage select=1251 > nul", а в конце команда "mode con codepage select=866 > nul".
В уже выполнявшемся задании архивации нельзя менять часть параметров, чтобы в конечной папке не оказались архивы с разными расширениями или режимами архивации. Изменить в параметрах можно степень сжатия архиватора, обработку подкаталогов, маску файлов и наличие отчёта. Если тип создаваемых архивов при архивации ".exe" (самораспаковывающиеся архивы), то в процессе можно поменять в параметрах командной строки ещё и имя архиватора (расширение архивов при этом не изменится), аналогично и с расширением ".zip". Можно переделать инкрементный архив в двойной инкрементный, для этого меняем в командной строке ключ "-i" на "-d" и устанавливаем размер стека архивов ключ "-n<размер>" больше, чем количество уже созданных архивов в конечной папке, но это число должно иметь такое же количество цифровых знаков, какое в именах уже созданных архивов (не забываем, что потолок количества архивов будет в 2 раза выше установленного), затем редактируем 7-ю строку скрипта "Restore.cmd": меняем ключ "-i" на "-d<размер>", где "размер" - размер стека, установленный при архивации. Кодировка файла "Restore.cmd" - DOS-866.
Чтобы скрыть окно консоли при запуске скрипта запуска "имя.cmd" архивации можно запустить его через Visual Basic скрипт "имя.vbs" следующего содержания:
Set WshShell = WScript.CreateObject("WS) и в папке с программой есть файл архиватора cript.Shell")
WshShell.Run "путь\имя.cmd",, а при степени сжатия 0, true

Так же скрыть окно консоли при запуске архивации можно в планировщике "AutoStart.exe", указав в параметрах программы "gbackup.exe" или скрипта ".cmd" её запуска ключ скрытия окна "w:0" .


(c) gv-vladimir@yandex.ru
[/more]

Скачать актуальную версию c Yandex диск: gBackup


Автор: Shamuel
Дата сообщения: 06.09.2014 15:00
Спасибо! Попробуем...
Автор: redelparolo
Дата сообщения: 14.09.2014 16:39
Двоякая ситуация, аваст говорит вирус там есть, а касперский молчит.
http://r.virscan.org/report/44ba98ad2c50eb62a225f1fd688047c5
Автор: VitaminP
Дата сообщения: 14.09.2014 17:32
redelparolo

Цитата:
Двоякая ситуация, аваст говорит вирус там есть, а касперский молчит.

На самом деле это был тест качества антивирусов. Программа упакована мало распространённым упаковщиком exe-файлов, который видимо не всем антивирусам оказался по зубам.
Автор: kukulza
Дата сообщения: 19.09.2014 11:16
VitaminP, отлично решение на рабочей программа проводить тесты (
пожалуйста в следующей версии сделайте чтобы не ругалось.
Автор: VitaminP
Дата сообщения: 19.09.2014 20:42
kukulza
Большинство антивирусов всё таки удалось убедить, что прога не вредоносная. Многие из них так же плохо реагируют на архиватор "uda.exe", но он скрыт, если не используется программой.
gBackup v7.4 : https://yadi.sk/d/8G9fQVuCbgMDs
Автор: redelparolo
Дата сообщения: 20.09.2014 07:16
Совсем другое дело. Спасибо!
http://r.virscan.org/report/7df93473d2a8d1925000f9a219671cd8
https://www.virustotal.com/ru/file/38998df40b4944fd8b0120a509c19ee6ac6ef349eb8d990ce0e5a38927a4f81c/analysis/1411186724/
Автор: slecht
Дата сообщения: 30.09.2014 10:38
VitaminP А как сделать бэкапы где есть пробелы в путях ?


Добавлено:
Вспомнил, надо писать в кавычках путь "_" , но тут же второй вопрос: Как работать с русскими именами в адресе?
Автор: VitaminP
Дата сообщения: 30.09.2014 11:16
slecht
Проблем с русскими именами не должно возникнуть. Откуда запускается архивация: из планировщика, скриптом? Приведи пример командной строки.
Автор: DonDD
Дата сообщения: 01.10.2014 11:56
VitaminP
Заметен прогресс в развитии программы. Скажу честно, смотрел первые версии - не впечатлили и перестал некторое время следить за развитием проекта. Сейчас (для себя) вижу один недостаток - это алгоритм расчета контрольных сумм файлов. Да, он быстр, но не столь качественен. Имхо, стоит внедрить 2 алгоритма (быстрый и "надежный") и позволить пользователю выбирать какой использовать. В принципе и сейчас не возникает проблем, но хочется большего )
Up
например: ключ -к -быстрый, -к2 - качественный.
Up
сейчас в программе используется самописный (или общеизвестный, но изменный) алгоритм?
Автор: VitaminP
Дата сообщения: 01.10.2014 18:59
DonDD

Цитата:
сейчас в программе используется самописный (или общеизвестный, но изменный) алгоритм?

Алгоритм расчёта контрольных сумм используется простой (вариация этого), по качеству хуже, чем CRC32. Дополнительно сравниваются и размеры файлов (информация так же хранится в файле-списке), что снижает количество возможных коллизий.
Автор: slecht
Дата сообщения: 02.10.2014 12:50
Вот пример:




Сам исходный батник:
c:\Temp\gbackup\gbackup.exe "c:\Temp\gbackup\Справка\" "e:\Temp\Папка для бэкапа\" -rar2
Автор: DonDD
Дата сообщения: 02.10.2014 13:48
slecht
gbackup.exe "c:\Справка" "c:\Папка для бэкапа" -rar2
без проблем.
и так без проблем:
gbackup.exe "c:\Справка\ох уж эта справка" "c:\Папка для бэкапа\здесь справки лежат" -rar2
gbackup.exe "c:\Справка\ох уж эта справка\*.*" "c:\Папка для бэкапа\здесь справки лежат" -rar2
Автор: VitaminP
Дата сообщения: 02.10.2014 14:08
slecht
В описании упоминается об этой ситуации:

Цитата:
Если в параметрах командной строки присутствуют пробелы или подстановочные знаки "?" или "*" в параметре Путь1, то параметр должен быть заключён в кавычки. Заключённый в кавычки путь не должен заканчиваться символом "\", иначе произойдёт сбой.Если скрипт "имя.cmd" или "имя.bat" запуска архивации содержит символы кириллицы, то кодировка этого скрипта должна быть DOS-866, либо в начале скрипта должна быть команда "mode con codepage select=1251 > nul", а в конце команда "mode con codepage select=866 > nul".

Автор: slecht
Дата сообщения: 02.10.2014 15:52
сохранил в 866, теперь по-русски есть, а все равно не сохраняет
c:\Temp\gbackup>gbackup.exe c:\Temp\conf\ "e:\Temp\папка бэкапа\" -n15 -rar2

Архивация> C:\Temp\conf
[Полный архив] {Ошибка создания каталога!}



Добавлено:
Странно на другом компе все отлично работает

Добавлено:
С русским именами работает отлично, но если делаешь в кавычки и не работает пишет {Ошибка создания каталога!}
Автор: VitaminP
Дата сообщения: 02.10.2014 16:22
slecht
вместо "e:\Temp\папка бэкапа\"
нужно написать "e:\Temp\папка бэкапа"
то есть без конечного слеша

Цитата:
Заключённый в кавычки путь не должен заканчиваться символом "\", иначе произойдёт сбой
Автор: slecht
Дата сообщения: 03.10.2014 10:29
Точно, так и есть! Спасибо разобрался.
Автор: VitaminP
Дата сообщения: 10.10.2014 19:13
gBackup v8.1 : https://yadi.sk/d/7NYuxHXbcBrSZ
Автор: redelparolo
Дата сообщения: 11.10.2014 11:17
VitaminP
Спасибо. Ну и от меня, инфа по безопасности.
http://r.virscan.org/report/bcaa31faaafc7836cf1bbe9cd139c414
https://www.virustotal.com/ru/file/97f54eb5543708806529859047185e31216d2e6e7ac112f127e7b275ff4560d5/analysis/1413015210/
Автор: FloID_aka
Дата сообщения: 11.11.2014 17:12
VitaminP
Здравствуйте
А что за файлик с расширением .spv ? И для чего нужен Restore.cmd ?
Такой вопрос еще можно ли задать фильтрацию по расширению ? И как быть c бекапом открытых файлов ?

Добавлено:
А как создать дифференциальный бэкап ? Я хочу чтоб файлы ежедневно архивировались и архивы аккуратно складывались, хранились примерно по такому пути
"//Сетевое хранилище/backup/usernme/Дата бекапа" Хранились дней 10, а потом заменялись новым архивом, либо зачищались. Возможно ли осуществить этот функционал этой утилитой ?
Автор: VitaminP
Дата сообщения: 11.11.2014 19:43
FloID_aka

Цитата:
Я хочу чтоб файлы ежедневно архивировались и архивы аккуратно складывались, хранились примерно по такому пути   "//Сетевое хранилище/backup/usernme/Дата бекапа" Хранились дней 10, а потом заменялись новым архивом, либо зачищались.

Именно это и делает программа, за исключением того, что имена архивов не привязаны к дате их создания. Программа может делать полные, инкрементные и диференциальные архивы, правда немного своеoбразно. Диференциальный архив получится с ключами командной строки: "-d -f", при этом будет создаваться двухблочный инкрементный стек с общим полным архивовом из первого блока. Второй блок будет всегда начинаться диференциальным архивом (изменения относительно первого полного архива), а далее будут следовать инкрементные архивы.
Программе не указываем когда нужно создать полный или когда инкрементный архив, она запускается всегда с одними и теми же параметрами и сама создает сруктуру архивов, в соответствии с установленным режимом (параметрами).
Автор: VitaminP
Дата сообщения: 13.11.2014 18:49
gBackup vLast : https://yadi.sk/d/oT_xQvGKdz8az
Автор: FloID_aka
Дата сообщения: 14.11.2014 11:10
VitaminP
Как можно реализовать этот бекап Групповыми политиками ?
Если программа не создаёт username в конечном каталоге, как потом разобраться какой архив кому принадлежит ?
Автор: VitaminP
Дата сообщения: 14.11.2014 12:14
FloID_aka
Насчёт Групповых политиков не скажу, а можно сделать так:
gbackup //username1/папка "//Сетевое хранилище/backup/username1" -параметры_архивации ...
gbackup //username2/папка "//Сетевое хранилище/backup/username2" -параметры_архивации ...

В результате архивы будут находиться в разных папках, и понятно где чьи.
Автор: FloID_aka
Дата сообщения: 14.11.2014 15:18
VitaminP
А бекап открытых файлов как решили ?
Автор: VitaminP
Дата сообщения: 14.11.2014 15:40
Если файлы заблокированы на чтение (как у 1С), то архивировать их не получится. Нужны специальные программы умеющие делать теневое копирование, либо делать бэкап в то время когда файлы не заблокированы (программа 1C закрыта).
Автор: 701
Дата сообщения: 02.01.2015 10:18
А можно для примера пошаговую настройку программы ?
Автор: VitaminP
Дата сообщения: 02.01.2015 11:44
701
Архивацию и Синхронизацию запускаю из планировщика скриптом (можно и без него). Группирую нужные задания в "скрипт.cmd" примерно следующего содержания:


Цитата:
@echo off
set prg=D:\Backup\gbackup.exe
set arh=D:\Backup\arhiv
%prg% "%ProgramFiles%\Opera 12.12" "%arh%\Opera 12.12" -dpprofile\sessions -dpprofile\mail -dbprofile -n7 -rar4 -d -o -f
%prg% D:\Документы %arh%\Документы -dpФото -fb*.* -dp"Моя техника" -dpРабота -rar3 -d -n15 -ip~$*.doc -rmax40m -f -o


Скрипт запускается циклически через каждый час в скрытом режиме. Раз в неделю подключаю внешний HDD и синхронизирую папку расположения архивов (и не только) с ним.
Так же у меня есть скрипт, который формирует запароленный инкрементный архив важных файлов для заливки его на mail.ru-облако. Запускаю его раз в неделю и через браузер (клиентами не пользуюсь) закачиваю файл в облако.
Кроме того есть скрипты для синхронизации домашнего и рабочего компов через интеренет посредством FTP (можно изменения переносить USB диском).
Автор: slecht
Дата сообщения: 04.01.2015 16:04
а чем подключиться можно к фтп и сделать бэкап?
Автор: VitaminP
Дата сообщения: 04.01.2015 20:03
С FTP всё просто, никаких специальных программ не нужно, на просторах интеренета нашёл скрипты для закачивания и скачивания с FTP и адаптировал под свои нужды.
Например если нужно переправить с работы домой все изменения в файлах за рабочий день, то делаем следующее:
1. Перед началом работы запускаем архивацию со следующими параметрами:
D:\Backup\gbackup.exe d:\Работа D:\Backup\Rabota -n99 -rar4 -i -s
В результате выполнения этой команды в папке "D:\Backup\Rabota" будет создан только список файлов в файле "arhiv.spv", таким образом мы создали точку отсчёта. В последствии будут сохранены все изменения, начиная с этого момента.
2. По окончании рабочего дня запускаем ту же команду и с теми же параметрами из п.1. Если нужно зафиксировать промежуточные изменения, то можно запускать команду многократно в течение рабочего дня (до 99 раз). В результате мы получим инкрементный(е) архив(ы) в конечной папке "D:\Backup\Rabota".
3. Теперь нужно содержимое папки "D:\Backup\Rabota" закачать на FTP. Запускаем скрипт следующего содержания:

Код: ECHO OFF
SET PTH=d:\Backup\Rabota

:: ~Параметры соединения
SET FTPS=server_ftp
SET USER=login
SET PASS=parol'
:: ~Путь на Ftp
SET FPATH=/dokum_/
SET NPATH=/dokum/
:: ~Имя временного файла
SET FTMP=%~dp0ftp.tmp

:: Удаляем временный каталог на FTP :: Собираем TMP-файл
Echo open %FTPS%>%FTMP%
Echo user %USER%>>%FTMP%
Echo %PASS%>>%FTMP%
Echo mdelete %FPATH%*>>%FTMP%
Echo rmdir %FPATH%>>%FTMP%
Echo bye>>%FTMP%
:: Запуск
FTP -v -i -n -s:%FTMP%
DEL %FTMP%

:: Создаем временный каталог на FTP :: Собираем TMP-файл
Echo open %FTPS%>%FTMP%
Echo user %USER%>>%FTMP%
Echo %PASS%>>%FTMP%
Echo mkdir %FPATH%>>%FTMP%
Echo bye>>%FTMP%
:: Запуск
FTP -v -i -n -s:%FTMP%
DEL %FTMP%

:: Читаем файлы каталога
FOR %%f IN (%PTH%\*.rar) DO CALL :upl %%f
CALL :upl %PTH%\Restore.cmd

:: Удаляем каталог на FTP :: Собираем TMP-файл
Echo open %FTPS%>%FTMP%
Echo user %USER%>>%FTMP%
Echo %PASS%>>%FTMP%
Echo mdelete %NPATH%*>>%FTMP%
Echo rmdir %NPATH%>>%FTMP%
Echo bye>>%FTMP%
:: Запуск
FTP -v -i -n -s:%FTMP%
DEL %FTMP%

:: Переименовываем временный каталог на FTP :: Собираем TMP-файл
Echo open %FTPS%>%FTMP%
Echo user %USER%>>%FTMP%
Echo %PASS%>>%FTMP%
Echo rename %FPATH% %NPATH%>>%FTMP%
Echo bye>>%FTMP%
:: Запуск
FTP -v -n -s:%FTMP%
DEL %FTMP%
EXIT

:upl
:: Закачиваем файлы во временный каталог на FTP :: Собираем TMP-файл
Echo open %FTPS%>%FTMP%
Echo user %USER%>>%FTMP%
Echo %PASS%>>%FTMP%
Echo cd %FPATH%>>%FTMP%
Echo binary>>%FTMP%
Echo put %1>>%FTMP%
Echo bye>>%FTMP%
:: Запуск
FTP -v -n -s:%FTMP%
DEL %FTMP%
Exit /b

Страницы: 1234

Предыдущая тема: SEP 12.1 не загружается файл описания вирусов


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.