Резервное копирование · 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
После добавления EPEL выполните команду ‘dnf’ ниже, чтобы установить пакет ‘rsnapshot’. Введите ‘ Y ‘, чтобы подтвердить установку.
sudo dnf install rsnapshot nano firewalls
После завершения установки проверьте расположение бинарного файла и версию ‘rsnapshot’ с помощью команды ниже.
which rsnapshot
rsnapshot --versionВ выводе ниже вы можете увидеть, что ‘ rsnapshot ‘ 1.4.5 установлен в ‘ /usr/bin/rsnapshot ‘.

Настройка SSH для удаленного резервного копирования
Чтобы выполнить удаленное резервное копирование с помощью Rsnapshot через SSH, вам необходимо настроить аутентификацию на основе ключей на ваших серверах. Убедитесь, что вы можете войти на целевой сервер с вашего сервера Rsnapshot через SSH-ключ. На этом этапе вы сгенерируете SSH-ключ на сервере Rsnapshot, а затем загрузите открытый ключ на целевой сервер резервного копирования.
На вашем сервере Rocky Linux выполните команду ‘ ssh-keygen ‘ ниже, чтобы сгенерировать новые SSH-ключи.
ssh-keygen -t ed25519- Нажмите ENTER, чтобы сохранить ключ в стандартном расположении в директории ‘ ~/.ssh ‘
- Нажмите ENTER дважды, когда будет предложено ввести пароль

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

Настройка 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 ‘/var/log/rsnapshot ‘, чтобы получить информацию о действиях Rsnapshot.
cat /var/log/rsnapshot
Автоматическое резервное копирование с помощью 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.
Get new posts in your inbox
No spam. Unsubscribe anytime.