Вступление
Autobackup - это автоматизированная система резервного копирования, которая извлекает данные для резервного копирования с удаленного сервера и сохраняет их на сервере. В нашем случае мы можем использовать Vultr Storage Instance с огромным объемом дискового пространства и резервировать все наши вычислительные экземпляры через него, чтобы предотвратить любую потерю данных.
Требования
Установка
Вы можете git
легко установить AutoBackup в вашей системе. Идем дальше и клонируем репозиторий:
mkdir /opt/
git clone https://github.com/fbrandstetter/Autobackup.git /opt/autobackup/
конфигурация
Прежде чем мы сможем начать резервное копирование данных из наших вычислительных экземпляров, нам необходимо получить к ним доступ. Для этого мы создадим ключ SSH в нашем экземпляре хранилища и предоставим доступ к нему всем вычислительным экземплярам. Далее мы начнем с создания ключа:
ssh-keygen
На данный момент мы должны скопировать наш открытый ключ в инстансы Compute. Откройте следующий файл ~/.ssh/id_rsa.pub
и скопируйте его в Compute Instances ' ~/.ssh/authorized_keys
:
cat ~/.ssh/id_rsa.pub
Если вы не работаете с открытыми ключами, чтобы получить доступ к своим вычислительным инстансам, вы должны сначала установить файл авторизованных ключей в конфигурации сервера SSH. Откройте следующий файл /etc/ssh/sshd_config
в экземплярах Compute и раскомментируйте следующую строку:
AuthorizedKeysFile %h/.ssh/authorized_keys
соединение
После того, как вы добавили ключ SSH экземпляра хранилища во все вычислительные экземпляры, вы можете попытаться подключиться к одному из ваших вычислительных экземпляров (чтобы избежать проблем позже, убедитесь, что соединение со всеми серверами работает):
ssh root@COMPUTE_INSTANCE_1
Вы должны быть в состоянии войти, не вводя ни пароль, ни что-то еще.
Автоматическое резервное копирование требует некоторых настроек для правильной работы. Откройте /opt/autobackup/backup.sh
файл, так как любая конфигурация хранится в самом файле bash. Взгляните на следующие строки и адаптируйте их под свои нужды:
BACKUPDIR=""
PASSWORD=""
FREEUPSPACE=""
MAXUSED=""
- BACKUPDIR: это папка, в которой будут храниться все резервные копии.
- ПАРОЛЬ: это пароль, используемый для шифрования резервных копий.
- FREEUPSPACE: определяет, должен ли скрипт удалять старые резервные копии, если диск заполнен или нет.
- MAXUSED: определяет минимальный размер диска до тех пор, пока он не прекратит резервное копирование или не начнет удалять старые.
Добавить сервер
Все серверы для резервного копирования хранятся в /opt/autobackup/serverlist.template
файле в следующем формате:
<SERVER_HOSTNAME OR IP>|<USERNAME FOR AUTHENTICATION>|<EXCLUDE LIST>
Глобальный Исключает
По умолчанию автоматическое резервное копирование автоматически создает резервные копии всего сервера, что означает, что он пытается загрузить /
рекурсивно. Поскольку некоторые люди не нуждаются в резервном копировании всей системы, вы можете добавить глобальные исключения (которые относятся к любому серверу) и специфичные для сервера исключения, которые применяются к определенным серверам. Все глобальные исключения хранятся в вызываемом файле, /opt/autobackup/default-excludes.template
и файл предварительно заполнен, /proc
и /dev
вы можете добавлять новые папки и расширения файлов, просто добавляя новые строки:
/proc
/dev
Специфичные для сервера Исключения
Поскольку большинство людей используют разные типы серверов (например, веб-серверы и серверы баз данных), для каждого сервера существуют уникальные списки исключений. Формат исключаемых файлов для сервера выглядит так же, как и глобальные. Вы можете создать новый файл и вызвать его EXCLUDE_LIST
для сервера, указанного вами в списке серверов. Если вы не хотите, чтобы какой-либо список исключений был указан для этого сервера, установите его empty
в списке серверов. Вызываемый файл empty
уже был загружен клоном хранилища - этот файл пуст, чтобы не было каталогов или чего-либо еще исключенного, в то время как исключения по умолчанию все еще действуют.
Восстановить данные
В идеальной среде мы даже не должны восстанавливать наши зашифрованные резервные копии. Хотя, когда возникают проблемы, и нам нужно извлечь наши резервные данные, их довольно легко восстановить. Вы можете восстановить любой файл резервной копии, используя следующую команду:
openssl aes-256-cbc -d -salt -in BACKUP.tar.aes -out BACKUP.restored.tar
mkdir backup/
tar -xvf BACKUP.restored.tar backup/
Замените BACKUP.tar.aes
имя файла нужной резервной копии для восстановления. BACKUP.restored.tar
будет именем файла незашифрованного архива. В приведенном выше примере мы уже сделали следующие шаги:
- Создать новую папку
- Восстановить незашифрованный архив в папку
Вывод
Autobackup - это полностью автоматизированный и довольно умный скрипт резервного копирования, который автоматически обрабатывает резервные копии для нас, и огромный плюс заключается в том, что данные шифруются паролем, который может быть почти неограниченным. Это означает, что до тех пор, пока вы сохраняете свой пароль в безопасности и достаточно долго, никто не сможет своевременно прикоснуться к вашим данным. Счастливого взлома!