Резервное копирование · 4 min read · Dec 14, 2025
Резервное копирование только для добавления с помощью borg на другой VPS или выделенный сервер

Этот учебник покажет, как создать резервную копию данных на сервере, обозначенном как основной сервер, на другой хост, здесь названный сервер резервного копирования, с помощью бесплатной программы резервного копирования Borg. Сервер резервного копирования будет настроен таким образом, что основной сервер в обычном использовании сможет только добавлять новые данные, а не удалять или изменять старые резервные копии. Эта функция только для добавления, в сочетании с тем фактом, что резервные копии хранятся на отдельном сервере в отдельном месте, делает резервные копии защищенными от потери данных, например, в результате природных катастроф или хакерской атаки на основной сервер.
Предварительные условия для выполнения этого руководства - использовать Debian Stretch (9) или Debian Buster (10) и иметь два доступных сервера: один основной сервер, с которого будут сделаны резервные копии, и другой сервер резервного копирования, где будут храниться архивы резервных копий. Эти два сервера должны находиться в разных местах для оптимальной защиты.
Это руководство начнется с настройки на сервере резервного копирования в первом разделе. Во втором разделе мы настроим основной сервер, а затем выполним резервное копирование, тестовое восстановление и покажем, как вручную удалить старые архивы резервных копий.
1 Настройка сервера резервного копирования
1.1 Установите borg и создайте нового пользователя borgbackup
На сервере резервного копирования (сервере, где должны храниться резервные копии) установите Borg в терминале root с помощью этой команды:
apt install borgbackupЗатем выберите пароль для пользователя borg, которого мы скоро создадим. (Обязательно иметь пароль для каждого пользователя, однако этот пароль почти никогда не будет использоваться, так как мы обычно будем подключаться к серверу резервного копирования с помощью SSH-ключа.) Если вы хотите сгенерировать случайный пароль из 64 символов, используйте эту команду:
< /dev/urandom tr -dc A-Za-z0-9 | head -c${1:-64};echo;Скопируйте пароль для пользователя borg, показанный в буфер обмена, и сохраните его в безопасном месте, отличном от самого сервера.
Теперь мы создадим пользователя borgbackup:
adduser borgbackupКогда вы получите вопрос о пароле, вставьте пароль, который вы скопировали ранее, нажмите Enter, а затем снова вставьте пароль и нажмите Enter. Не заполняйте ничего другого, просто нажмите Enter, чтобы ответить на следующие вопросы.
1.2 Сгенерируйте SSH-ключи для пользователя borgbackup
Теперь нам нужно стать новым пользователем с помощью su:
su borgbackup
cdЗатем мы сгенерируем новую пару SSH-ключей для пользователя:
ssh-keygen -t ed25519После нажатия Enter вы получите серию вопросов. Оставьте ответы пустыми, просто продолжайте нажимать Enter несколько раз, пока команда не завершится. Не устанавливайте никакую фразу-пароль для ключа, также нажмите Enter на этом вопросе.
1.3 Создайте каталог резервных копий
Теперь пришло время создать каталог, где будут храниться резервные копии, который в терминологии borg определяется как репозиторий borg. Мы просто назовем каталог borgbackup, но вы можете выбрать название в честь имени вашего основного сервера.
cd
mkdir borgbackup
chmod go-rwx borgbackup
chmod u+rwx borgbackup2 Настройка основного сервера и как он подключается к серверу резервного копирования
2.1 Установите Borg
Теперь мы переходим от работы на сервере резервного копирования к работе на основном сервере.
На основном сервере (сервере, с которого вы хотите делать резервные копии) установите Borg в терминале root с помощью этой команды:
apt install borgbackupПозже нам понадобится внешний IP-адрес основного сервера (того, на котором мы находимся). Пожалуйста, скопируйте этот IP-адрес, чтобы он был у вас под рукой. Если вы не помните внешний IP-адрес основного сервера, выполните эту команду, чтобы отобразить его:
wget -qO- http://ipecho.net/plain | xargs echo2.2 Разрешите основному серверу доступ к серверу резервного копирования
Команды, которые вы выполняете на основном сервере
Теперь мы подготовим аутентификацию SSH-ключа, чтобы можно было подключиться с основного сервера к серверу резервного копирования. Сначала используйте эту команду, чтобы показать открытый SSH-ключ пользователя root на основном сервере:
cat ~/.ssh/id_*.pubЕсли у вас есть открытый SSH-ключ для root, вы должны увидеть этот ключ. Скопируйте ключ в буфер обмена, он вам понадобится позже для вставки в файл на сервере резервного копирования.
Если вы не видите отображаемый ключ, вам нужно сгенерировать пару ключей. Например, выполните эту команду в этом случае: ssh-keygen -t ed25519, а затем повторно нажмите Enter.
Теперь нам нужно сказать серверу резервного копирования разрешить доступ с основного сервера (где мы сейчас находимся) с помощью открытого SSH-ключа. Для этого введите эту команду, но сначала замените BACKUPHOSTNAME на имя вашего сервера резервного копирования:
ssh-copy-id -i ~/.ssh/id_*.pub borgbackup@BACKUPHOSTNAMEПодключитесь к серверу резервного копирования
Теперь вам нужно будет ввести пароль для пользователя borgbackup, которого вы создали на шаге 1.1. После этого должно быть возможно напрямую получить доступ к серверу резервного копирования как пользователь borgbackup без пароля. Теперь проверьте, что это возможно, введя эту команду, заменив BACKUPHOSTNAME на имя вашего сервера резервного копирования:
ssh borgbackup@BACKUPHOSTNAMEКоманды, которые вы выполняете на сервере резервного копирования
Теперь мы еще больше усилим безопасность, ограничив доступ только с IP-адреса основного сервера, используя этот ключ.
Оставайтесь на сервере резервного копирования и выполните эту команду:
nano ~/.ssh/authorized_keysТеперь вы должны увидеть длинную строку, которая начинается с ssh. Убедитесь, что курсор находится в начале файла. Добавьте следующие данные в ту же строку, перед ssh-ключом, но сначала замените SERVERIPADDRESS на IP-адрес вашего сервера (который вы исследовали в начале этого раздела):
from=Get new posts in your inbox
No spam. Unsubscribe anytime.