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

Print Friendly, PDF & Email

Задача:

Настроить простое резервное копирования базы данных 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>
Помогла статья? Есть возможность отблагодарить автора

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *