Поиск по сайту:

Как использовать Rsnapshot для резервного копирования и восстановления на серверах Linux


На этой странице

  1. Предварительные условия
  2. Установка рснапшота
  3. Настройка аутентификации по ключу SSH
  4. Настройка рснапшота
  5. Тестирование резервного копирования rsnapshot вручную
  6. Автоматическое резервное копирование с помощью Cron
  7. Восстановление резервной копии rsnapshot
  8. Заключение

rsnapshot — утилита резервного копирования для компьютеров под управлением Linux. Он доступен в большинстве дистрибутивов Linux, его можно легко установить через менеджер пакетов. rsnapshot написан на Perl без каких-либо зависимостей, он также поддерживает локальное и удаленное резервное копирование.

С помощью rsnapshot вы можете создать резервную копию локального каталога. Что касается удаленного резервного копирования, rsnapshot использует «ssh» и «rsync».

В этом руководстве вы узнаете, как выполнять резервное копирование и восстановление с помощью Rsnapshot на сервере Linux. Вы настроите rsnapshot для локального и удаленного резервного копирования. Вы также узнаете, как настроить автоматическое резервное копирование с помощью rsnapshot и cron.

Предварительные условия

Чтобы завершить это руководство, убедитесь, что у вас есть следующее:

  • Сервер Linux, такой как Debian, Ubuntu, CentOS или любой другой дистрибутив.
  • Пользователь без полномочий root с правами администратора
  • Дополнительный дополнительный сервер для тестирования удаленного резервного копирования.

Установка рснапшота

rsnapshot — это утилита резервного копирования, доступная в большинстве дистрибутивов Linux. Вы можете установить его через соответствующий менеджер пакетов. В этом разделе вы будете устанавливать rsnapshot на сервер Debian. Поэтому, если вы используете другой дистрибутив, установите его с помощью текущего менеджера пакетов.

Сначала обновите индекс вашего пакета с помощью следующей команды. В этом примере мы будем использовать Debian, вы можете использовать дистрибутивы на основе Debian, такие как Ubuntu, Linux Mint и т. д.

sudo apt update

После обновления выполните приведенную ниже команду, чтобы установить пакет «rsnapshot». Введите «Y», чтобы подтвердить установку.

sudo apt install rsnapshot

После завершения установки проверьте местоположение двоичного файла «rsnapshot» и его версию.

which rsnapshot
rsnapshot --version

Ниже вы можете видеть, что Rsnapshot 1.4 установлен в «/usr/bin/rsnapshot».

Настройка аутентификации по ключу SSH

При выполнении удаленного резервного копирования вы должны убедиться, что ваш сервер rsnapshot может войти на целевой сервер, используя аутентификацию по ключу SSH. Итак, для удаленного резервного копирования вам необходимо иметь следующее:

  • Пользователь, который будет использоваться для входа на целевой сервер.
  • Аутентификация на основе ключей SSH включена

В этом разделе вы создадите ключ SSH на сервере rsnapshot. Затем скопируйте открытый ключ SSH на целевой сервер «192.168.10.41», используя пользователя «alice».

На сервере «rsnapshot» сгенерируйте открытый и закрытый ключи SSH с помощью приведенной ниже команды «ssh-keygen». Нажмите «ENTER», когда вас спросят ключ местоположения и пароль.

ssh-keygen -t ed25519

Теперь выполните приведенную ниже команду «ssh-copy-id», чтобы загрузить открытый ключ SSH на целевой сервер. В этом примере вы выполните удаленное резервное копирование с сервера «192.168.10.41» с аутентификацией SSH на основе ключей и с использованием пользователя «alice».

ssh-copy-id [email 

Введите свой пароль при появлении запроса.

После загрузки открытого ключа SSH вы готовы к настройке Rsnapshot.

Настройка рснапшота

В этом разделе вы настроите rsnapshot как для локального, так и для удаленного резервного копирования. Вы измените конфигурацию по умолчанию «/etc/rsnapshot.conf», настроите каталог резервного копирования по умолчанию, включите интеграцию с SSH и Rsync, настроите интервальное резервное копирование, а затем настроите локальное и удаленное резервное копирование.

Скопируйте конфигурацию rsnapshot по умолчанию «/etc/rsnapshot.conf» и измените файл с помощью редактора «nano» или «vim».

sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig
sudo nano /etc/rsnapshot.conf

Измените значение по умолчанию «snapshot_root», указав новый каталог. Этот каталог будет использоваться для хранения ваших резервных данных.

snapshot_root /data/backup/

Раскомментируйте параметры «cmd_rsync» и «cmd_ssh», чтобы включить удаленное резервное копирование с помощью rsync через SSH.

cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh

Измените уровни или интервалы резервного копирования по умолчанию, как показано ниже. Имя не является обязательным, вы можете изменить его по мере необходимости. В этом примере «daily 6» создаст резервные каталоги с именами «daily.0» и «daily.5».

ПРИМЕЧАНИЕ. Используйте TAB вместо пробела, так как это приведет к ошибке.

retain daily 6
retain weekly 7
retain monthly 4

Раскомментируйте параметр «logfile», чтобы включить запись журнала rsnapshot в файл.

logfile /var/log/rsnapshot.log

Если вы используете удаленный сервер с собственным портом SSH, раскомментируйте параметр «ssh_args» и измените порт.

ssh_args -p 22

Теперь для локального резервного копирования используйте такую конфигурацию. В этом примере мы создадим резервную копию локального каталога «/home/arvdl» в «local». Путь назначения должен быть относительным, он равен «/srv/backup/name-interval/local».

backup /home/arvdl/ local

Для удаленного резервного копирования через SSH и rsync используйте такую конфигурацию. В этом примере мы создадим резервную копию каталогов «/etc» и «/var/www» с удаленного сервера «192.168.10.41». с пользователем SSH «alice» в каталог относительного пути «server1».

backup [email :/etc/ server1
backup [email :/var/www server1

Сохраните и выйдите из файла, когда закончите.

После того, как вы настроили rsnapshot, проверьте и протестируйте конфигурацию rsnapshot, выполнив следующие действия. Если у вас правильная конфигурация, вы увидите сообщение «Синтаксис в порядке».

rsnapshot configtest

Тестирование резервного копирования rsnapshot вручную

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

Чтобы проверить резервную копию вручную, выполните приведенную ниже команду «rsnapshot». Обязательно измените «ежедневно» на свое резервное имя.

rsnapshot daily

Если процесс завершен, проверьте каталог резервной копии «/srv/backup» с помощью следующей команды. Вы увидите новый каталог резервных копий «daily.0», содержащий файлы резервных копий с локальных и удаленных серверов.

ls /srv/backup/

Теперь запустите команду ниже, чтобы проверить использование диска с помощью rsnapshot.

rsnapshot du

В выводе ниже вы можете увидеть, что общее использование диска для резервного копирования rsnapshot составляет 5 МБ.

Наконец, проверьте файл журнала резервного копирования «/var/log/rsnapshot.log», чтобы проверить процесс резервного копирования.

cat /var/log/rsnapshot.log

Ниже показано, что резервное копирование прошло успешно, но с некоторыми предупреждениями, например об отказе в разрешении при резервном копировании файла «/etc/shadow».

Автоматическое резервное копирование с помощью Cron

Для автоматического резервного копирования вы можете интегрировать rsnapshot с cron. Например, вы настроите cron для автоматического резервного копирования как «ежедневно», «еженедельно» и «ежемесячно».

Откройте файл «/etc/cron.d/rsnapshot» в редакторе «nano». Этот файл представляет собой пример, созданный с помощью rsnapshot.

sudo nano /etc/cron.d/rsnapshot

Введите следующую конфигурацию для автоматического резервного копирования через rsnapshot. В этом примере резервное копирование «ежедневно» будет выполняться ежедневно, а также «еженедельно» и «ежемесячно» в соответствующее время.

0 0 * * * root rsnapshot daily
0 0 * * 0 root rsnapshot weekly
0 0 1 * * root rsnapshot monthly

Сохраните файл и выйдите из редактора.

При этом ваше автоматическое резервное копирование будет запускаться через cron.

Восстановление резервной копии rsnapshot

Чтобы восстановить резервную копию rsnapshot, вам просто нужно скопировать данные из каталога резервной копии в место назначения. В этом примере вы можете скопировать данные из каталога резервных копий «/srv/backup».

Заключение

Поздравляем! Вы завершили обучение по установке rsnapshot и настройке rsnapshot для локального и удаленного резервного копирования, а также изучили некоторые основные команды «rsnapshot». Наконец, вы также узнали, как настроить автоматическое резервное копирование с помощью rsnapshot и cron.

Статьи по данной тематике: