Настраиваем тригер для резервного копирования KeePass

Задача:
---------------------------------------------------------------Настроить простое резервное копирования базы данных KeePass
KeePass — кроссплатформенная свободная распространяемая программа для хранения паролей. Существует две версии менеджера паролей:
- Первая версия (Classic Edition) — облегчённая версия, только для хранения паролей.
- Вторая версия (Professional Edition) — более функциональная кроссплатформенная версия, работает без перекомпиляции в ОС Windows, macOS и Linux, но требует для своей работы NET Framework.
Каждую Windows версию KeePass можно скачать в виде инсталятора или портативной.
KeePass обладает мощной триггерной системой работающей по принципу: событие-условие-действие. С помощью тригеров рабочие процессы могут быть автоматизированы. Например, мы можем настроитьтриггер, который автоматически загружает вашу базу данных на сервер резервного копирования после локального сохранения файла.
Настроим резервное копирование в каталог базы данных, на случай если будут ошибки на уровне файловой системы и мы не сможем открыть базу паролей. Настраиваем:
Сервис > Триггеры

Отмечаем «Использовать триггерную систему» и нажимаем «Добавить»

- Название: Backup database on open (можно что-то другое написать)
- Разрешён — отмечаем
- Включён с момента запуска KeePass — отмечаем

Переходим во вкладку «События» далее кнопка «Добавить». Выбираем «Программа запущена и готова» и нажимаем «ОК»

Во вкладке «Действия» добавляем два раза «Выполнить команду / URL»
Первое действие
%comspec%
/c copy "{DB_PATH}" "{DB_BASENAME}.{DT_SIMPLE}"
Второе действие
%comspec%
/c for /f "skip=7 tokens=*" %X in ('dir "{DB_BASENAME}.*" /b /o:-d') do del "%X"

В итоге, должно получится

Для теста я 7 раз запустил и закрыл базу. У нас создалось 6 резервных копий и каждый седьмой запуск будет перезаписываться.

Настроенный тригер для импорта
<?xml version="1.0" encoding="utf-8"?>
<TriggerCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Triggers>
<Trigger>
<Guid>/JtfGdYaq0ee1skhow2Xug==</Guid>
<Name>Backup database on open</Name>
<Events>
<Event>
<TypeGuid>5f8TBoW4QYm5BvaeKztApw==</TypeGuid>
<Parameters>
<Parameter>0</Parameter>
<Parameter />
</Parameters>
</Event>
</Events>
<Conditions />
<Actions>
<Action>
<TypeGuid>2uX4OwcwTBOe7y66y27kxw==</TypeGuid>
<Parameters>
<Parameter>%comspec%</Parameter>
<Parameter>/c copy "{DB_PATH}" "{DB_BASENAME}.{DT_SIMPLE}"</Parameter>
<Parameter>False</Parameter>
<Parameter>0</Parameter>
<Parameter />
</Parameters>
</Action>
<Action>
<TypeGuid>2uX4OwcwTBOe7y66y27kxw==</TypeGuid>
<Parameters>
<Parameter>%comspec%</Parameter>
<Parameter>/c for /f "skip=7 tokens=*" %X in ('dir "{DB_BASENAME}.*" /b /o:-d') do del "%X"</Parameter>
<Parameter>False</Parameter>
<Parameter>0</Parameter>
<Parameter />
</Parameters>
</Action>
</Actions>
</Trigger>
</Triggers>
</TriggerCollection>
Свежие комментарии