Backupninja позволяет вам координировать резервное копирование системы, помещая несколько простых файлов конфигурации в /etc/backup.d/. Большинство программ, которые вы можете использовать для создания резервных копий, не имеют собственного формата файла конфигурации. Backupninja предоставляет централизованный способ настройки и координации множества различных утилит резервного копирования..

Установка backupninja

Чтобы установить backupninja, вам необходимо войти на свой сервер и выполнить следующие команды:

Ubuntu / Debian

apt update -y
apt install backupninja

RHEL & Centos

dnf install epel-release
dnf install backupninja duplicity rdiff-backup

Как сделать резервную копию сервера Linux Backupninja - Image 1

Конфигурация Backupninja

Приложение backupninja поставляется с удобным мастером, который поможет вам настроить резервное копирование..

# ninjahelper

Как сделать резервную копию сервера Linux Backupninja - Image 2
MySQL backup

Выберите создание нового действия резервного копирования для базы данных MySQL.

Как сделать резервную копию сервера Linux Backupninja - Image 3

Далее укажите директорию для хранения бекапов.

Как сделать резервную копию сервера Linux Backupninja - Image 4
Если вам нужно сделать резервную копию всех баз данных, нажмите ДА, в противном случае вам нужно будет ввести имя базы данных для резервного копирования..

Как сделать резервную копию сервера Linux Backupninja - Image 5
Далее нужно настроить метод аутентификации, я выберу пароль.

Как сделать резервную копию сервера Linux Backupninja - Image 6

Выберите вариант резервного копирования с помощью пробела.

Как сделать резервную копию сервера Linux Backupninja - Image 7
Готово, резервная копия MySQL настроена.

Как сделать резервную копию сервера Linux Backupninja - Image 8

Теперь вы можете просматривать, редактировать, отключать, переименовывать, запускать, тестировать или удалять конфигурацию..

Как сделать резервную копию сервера Linux Backupninja - Image 9
Резервное копирование директорий

У меня размещены несколько веб-сайтов на сервере, поэтому я хочу сохранить файлы веб-сайтов в безопасности, для этого мне нужно создать новое правило резервного копирования. В моем случае я выберу резервную копию TAR.

Как сделать резервную копию сервера Linux Backupninja - Image 10

Нужно указать имя и путь для бекапа.

Как сделать резервную копию сервера Linux Backupninja - Image 11
Как сделать резервную копию сервера Linux Backupninja - Image 12
Выберите метод архивации.

Как сделать резервную копию сервера Linux Backupninja - Image 13

Далее нужно указать что архивировать и указать исключения.

Как сделать резервную копию сервера Linux Backupninja - Image 14Как сделать резервную копию сервера Linux Backupninja - Image 15

Готово, бэкап настроен.

Автоматизация  бекапа 

Я просто добавлю в свой cron следующую строку, чтобы резервное копирование могло запускаться каждый день в 2 часа ночи.

0 2 * * * /usr/sbin/backupninja --now

Удаление файлов из бекапа

Резервные копии tar по умолчанию не имеют ротации, поэтому вам следует добавить следующий скрипт в cron для удаления файлов старше 14 дней.

0 1 * * * find /path/to/backup/* -type f -mtime +14 -exec rm -f {} \;