Настраиваем тригер для резервного копирования 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>
Свежие комментарии