Как установить rsnapshot Linux Backup на Rocky Linux 9
На этой странице
- Необходимые условия
- Установка Rsnapshot
- Настройка SSH для удаленного резервного копирования
- Настройка rsnapshot для локального и удаленного резервного копирования
- Тестирование резервного копирования с помощью Rsnapshot
- Автоматическое резервное копирование с помощью Rsnapshot и Cronjob
- Заключение
Rsnapshot — это утилита резервного копирования для компьютеров на базе Linux. Он доступен на большинстве дистрибутивов Linux, вы можете легко установить его через менеджер пакетов. rsnapshot написан на Perl без зависимостей, он также поддерживает локальное и удаленное резервное копирование.
С помощью Rsnapshot вы можете создать резервную копию локального каталога. Что касается удаленного резервного копирования, rsnapshot использует 'ssh' и 'rsync'.
В этом руководстве вы узнаете, как установить и настроить Rsnapshot на сервере Rocky Linux 9. Вы также узнаете, как выполнять автоматическое резервное копирование с помощью Rsnapshot и Cron.
Необходимые условия
Прежде чем начать, убедитесь, что у вас есть следующее:
- Сервер Rocky Linux 9
- Пользователь без привилегий root с правами администратора
Установка Rsnapshot
Rsnapshot - это утилита резервного копирования для Unix-подобной операционной системы. В дистрибутиве на основе RedHat вы можете установить Rsnapshot через репозиторий EPEL (Extra Packages for Enterprise Linux). Итак, на этом шаге вы добавите репозиторий EPEL в свою систему, а затем установите Rsnapshot.
Сначала выполните приведенную ниже команду, чтобы добавить репозиторий EPEL (Extra Packages for Enterprise 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
Введите свой пароль при появлении запроса. После загрузки вы можете войти на целевой сервер без пароля и быть готовым к настройке 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 :/etc/ rocky9
backup [email :/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'.
# Backup on daily
0 0 * * * root rsnapshot daily
# Backup on weekly
0 0 * * 0 root rsnapshot weekly
# backup monthly
0 0 1 * * root rsnapshot monthly
Сохраните файл и выйдите из редактора, когда закончите.
Заключение
Поздравляю! Вы завершили установку и настройку Rsnapshot на сервере Rocky Linux 9. Вы также узнали базовую команду 'rsnapshot', как настроить несколько сохранений Rsnapshot, как удаленно выполнять резервное копирование с помощью Rsnapshot через SSH, а также узнали, как настроить автоматическое резервное копирование с помощью Rsnapshot и Cronjob.