Резервное копирование · 5 min read · Sep 12, 2025

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

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

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

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

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

Перед тем как начать, убедитесь, что у вас есть следующее:

  • Сервер Rocky Linux 9
  • Непривилегированный пользователь с правами администратора

Установка Rsnapshot

Rsnapshot — это утилита резервного копирования для операционной системы, подобной Unix. На дистрибутиве на базе RedHat вы можете установить Rsnapshot через репозиторий EPEL (Дополнительные пакеты для корпоративного Linux). Поэтому на этом этапе вы добавите репозиторий EPEL в вашу систему, а затем установите Rsnapshot.

Сначала выполните команду ниже, чтобы добавить репозиторий EPEL (Дополнительные пакеты для корпоративного Linux) на ваш сервер Rocky Linux. Введите ‘ Y ‘, чтобы подтвердить и добавить репозиторий EPEL.

sudo dnf install epel-release

add epel-release

После добавления EPEL выполните команду ‘dnf’ ниже, чтобы установить пакет ‘rsnapshot’. Введите ‘ Y ‘, чтобы подтвердить установку.

sudo dnf install rsnapshot nano firewalls

install rsnapshot

После завершения установки проверьте расположение бинарного файла и версию ‘rsnapshot’ с помощью команды ниже.

which rsnapshot  
rsnapshot --version

В выводе ниже вы можете увидеть, что ‘ rsnapshot1.4.5 установлен в ‘ /usr/bin/rsnapshot ‘.

check rsnapshot

Настройка SSH для удаленного резервного копирования

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

На вашем сервере Rocky Linux выполните команду ‘ ssh-keygen ‘ ниже, чтобы сгенерировать новые SSH-ключи.

ssh-keygen -t ed25519
  • Нажмите ENTER, чтобы сохранить ключ в стандартном расположении в директории ‘ ~/.ssh
  • Нажмите ENTER дважды, когда будет предложено ввести пароль

generate key

Теперь выполните команду ‘ ssh-copy-id ‘ ниже, чтобы загрузить ваш SSH-ключ на целевую машину. В этом примере мы будем резервировать некоторые данные с сервера ‘ 192.168.10.50 ‘ на наш сервер Rocky Linux с помощью ‘ rsnapshot ‘.

ssh-copy-id [email protected]

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

ssh-copy-id upload key

Настройка Rsnapshot для локального и удаленного резервного копирования

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

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

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

Добавьте путь к вашей директории резервного копирования в опцию ‘ snapshot_root ‘. В этом примере все резервные копии будут храниться в директории ‘ /data/backup ‘.

snapshot_root /data/backup/

Раскомментируйте опции ‘ cmd_rsync ‘, ‘ cmd_ssh ‘, ‘ cmd_du ‘ и ‘ cmd_rsnapshot_diff ‘. Убедитесь, что путь каждой команды правильный.

cmd_rsync /usr/bin/rsync  
cmd_ssh /usr/bin/ssh  
cmd_du /usr/bin/du  
cmd_rsnapshot_diff /usr/bin/rsnapshot_diff

Измените конфигурацию ‘retain’ по умолчанию на следующую. Название является необязательным, вы можете изменить его по мере необходимости. В этом примере ‘ retain daily 6 ‘ создаст новые директории резервного копирования ‘ daily.0 ‘ до ‘ daily.5 ‘.

retain daily 6  
retain weekly 7  
retain monthly 4

Раскомментируйте опцию ‘ logfile ‘, чтобы включить ведение журнала для Rsnapshot.

logfile /var/log/rsnapshot.log

Раскомментируйте ‘ ssh_args ‘, чтобы передать дополнительную команду SSH. Особенно если вы запускаете SSH на нестандартном порту.

ssh_args -p 22

Теперь измените конфигурацию ‘ backup ‘ следующим образом, чтобы создать резервную копию локальной директории ‘/home/arvdl’.

backup /home/arvdl/ local

Для удаленного резервного копирования через SSH используйте конфигурацию, подобную следующей. В этом примере мы будем резервировать директории ‘ /etc ‘ и ‘ /var/www ‘ с сервера ‘ 192.168.10.50 ‘ на сервер Rsnapshot. Также убедитесь, что вы используете правильного пользователя SSH с аутентификацией на основе SSH-ключей.

backup [email protected]:/etc/ rocky9  
backup [email protected]:/var/www rocky9

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

Наконец, выполните команду ‘rsnapshot’ ниже, чтобы проверить вашу конфигурацию. Если у вас правильная конфигурация, вы увидите вывод ‘ Синтаксис в порядке ‘.

rsnapshot configtest

Тестирование резервного копирования с помощью Rsnapshot

На этом этапе вы настроили Rsnapshot и создали резервную копию для локальных и удаленных серверов. Теперь вы будете выполнять резервное копирование с помощью Rsnapshot вручную через командную строку ‘rsnapshot’. Вы также проверите размер резервной копии и журнал Rsnapshot.

Чтобы выполнить резервное копирование вручную, выполните команду ‘ rsnapshot ‘, за которой следует имя хранения, например, ‘ daily ‘. Это создаст новую резервную копию в директории ‘ snapshot_root ‘.

rsnapshot daily

Проверьте директорию ‘ snapshoot_root ‘, чтобы убедиться, что ваша резервная копия создана. В этом примере директория ‘snapshot_root’ — ‘ /data/backup ‘.

ls /data/backup

Теперь выполните команду ‘ rsnapshot ‘ ниже, чтобы проверить размер вашей резервной копии. В следующем примере единственная резервная копия наших файлов составляет ‘ 3MB ‘.

rsnapshot du

rsnapshot du

Наконец, вы также можете проверить журнал Rsnapshot ‘/var/log/rsnapshot ‘, чтобы получить информацию о действиях Rsnapshot.

cat /var/log/rsnapshot

check log

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

В этом последнем разделе вы узнаете, как настроить автоматическое резервное копирование с помощью Rsnapshot и Cronjob. Таким образом, команда ‘ rsnapshot ‘ будет выполняться периодически и автоматически через Cron.

Создайте новый файл конфигурации cron ‘ /etc/cron.d/snapshot ‘ с помощью редактора ‘ nano ‘.

sudo nano /etc/cron.d/rsnapshot

Вставьте конфигурацию ниже, чтобы настроить crontab для Rsnapshot. В следующем примере вы будете запускать ‘rsnapshot daily’, ‘rsnapshot weekly’ и ‘rsnapshot monthly’.

# Резервное копирование ежедневно  
0 0 * * * root rsnapshot daily  
  
# Резервное копирование еженедельно  
0 0 * * 0 root rsnapshot weekly  
  
# резервное копирование ежемесячно  
0 0 1 * * root rsnapshot monthly

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

Заключение

Поздравляем! Вы завершили установку и настройку Rsnapshot на сервере Rocky Linux 9. Вы также узнали основные команды ‘rsnapshot’, как настроить несколько хранений Rsnapshot, как резервировать удаленно с помощью Rsnapshot через SSH, а также узнали, как настроить автоматическое резервное копирование с помощью Rsnapshot и Cronjob.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.