November 25, 2023

Мини-гайд по резервному копированию linux сервера

Шаг 1: Установи rsync на своем компьютере или сервере

Если на твоем линуксе не установлен rsync, то лучше его поставить. А если у тебя винда, советую развернуть Windows Subsystem for Linux (WSL).

Шаг 2: Сделай ключ SSH (если еще не сделал)

ssh-keygen -t rsa -b 4096

Далее, просто следуй инструкциям.

Шаг 3: Закинь свой открытый ключ на сервер:

ssh-copy-id твой_логин@ip_твоего_сервера

Где твой_логин — это твоё имя на сервере, а ip_твоего_сервера - IP-адрес твоего сервера.

Шаг 4: Протестируй подключение по SSH

Удостоверься, что подключаешься к серверу без ввода пароля:

ssh твой_логин@ip_твоего_сервера

Шаг 5: Создай скрипт для резервных копий

Создай файл, например, backup_script.sh, с таким кодом:

#!/bin/bash
REMOTE_USER="твой_логин"
REMOTE_IP="ip_твоего_сервера"

# Папка на сервере, что хочешь скопировать
SOURCE_DIR="/путь/к/твоим/файлам"

# Локальная папка, куда будут сыпаться копии
DEST_DIR="/путь/к/твоему/бэкапу"

# Исключения (файлы или папки, что хочешь пропустить)
EXCLUDE="--exclude=папка_что_не_нужна --exclude=файл_что_не_нужен"

# Команда с `rsync`
rsync -avz -e ssh $EXCLUDE $REMOTE_USER@$REMOTE_IP:$SOURCE_DIR $DEST_DIR

Не забудь сделать скрипт выполняемым:

chmod +x backup_script.sh

А потом запускай скрипт:

./backup_script.sh

Этот скрипт с помощью rsync подтянет файлы с сервера к тебе на ноут или другой сервер. Обрати внимание, что первый раз может запросить пароль для SSH.