17 августа 2019

Как я Duplicati 2 в Windows устанавливал и настраивал.



Duplicati 2 - это система резервного копирования с открытым исходным кодом. Есть версии под Window, Linux и MacOS. Умеет архивировать по расписанию, умеет восстанавливать данные из архива в исходное или произвольное расположение, умеет работать с теневыми копиями (VSS). Сплошные бонусы и радости по описанию, но всё немного не так в реальности. По крайней мере у меня не всё гладко прошло.


После установки с помощью MSI-пакета программа запустилась, в системном лотке рядом с часами появился значок, в браузере открылся web-интерфейс для настройки программы и создания заданий. Для простого архивирования документов хватит за глаза, но есть в таком режиме кое-какие ограничения.
Во-первых, при запуске от имени пользователя не работает теневое копирование, т.е. открытые и заблокированные файлы при выполнении резервного копирования будут пропущены.
Во-вторых, настройки самой программы и задания лежат в недрах пользовательского каталога "AppData", и их таким образом можно потерять.

Решение проблем я нашёл за вечер.

Сначала я удалил программу совсем. Перед этим необходимо экспортировать настройки заданий в JSON-файлы, но у меня задания настроены ещё не были, а тестовые задания ценности не представляли. Потом я скачал со страницы релизов последнюю доступную версию в виде zip-архива с бинарниками для Windows ("duplicati-2.0.4.23_beta_2019-07-14.zip" на момент написания статьи). Распаковал архив в нужный мне каталог и  приступил к настройке.

Сначала я запустил командную строку от имени администратора и перешёл в каталог с файлами программы. Из него я установил службу такой командой:

Duplicati.WindowsService.exe install

Но в таком варианте настройки хранятся уже внутри каталога "\Windows\System32\config\systemprofile\AppData", что тоже не очень хорошо. Поэтому я удалил службу и переустановил её с параметром "--portable-mode":

Duplicati.WindowsService.exe uninstall
Duplicati.WindowsService.exe install --portable-mode

В таком режиме настройки хранятся в каталоге "data" вместе с программой.

Теперь расскажу об использовании механизма теневых копий.

Он включается с помощью добавления параметра "snapshot-policy" и выставления его в положение "on" в разделе "Параметры по умолчанию" настроек программы или в разделе "Расширенные параметры" на 5-м шаге мастера добавления задания.

Ещё в этой программе мне понравилась настройка хранения резервных копий, которая задаётся в виде "Период:Количество". Например, "7D:1D,4W:1W" расшифровывается как "В течении 7 дней (7D) хранить по одной копии за каждый день (1D), в течение 4 недель (4W), хранить одну копию за каждую неделю (1W), белее старые копии удалять". Можно довольно гибко настроить хранение и удаление.

А не понравилось мне в программе то, что нельзя просто открыть архив и извлечь нужный файл, потому что данные там хранятся в своём хитром формате. При открытии архива обычным архиватором видны файлы с именами вида "_KGCmOF5iOWsglfcz31luskPsj7NooyjiyXD8sXQDO8="