Как сделать резервную копию удаленного хоста Linux с помощью утилиты rsnapshot rsync

Мы предоставляем услуги удаленного администрирования серверов

Как сделать резервную копию удаленного хоста Linux с помощью утилиты rsnapshot rsync

Поделиться

В этой статье мы рассмотрим, как сделать резервную копию удаленного хоста Linux с помощью этой утилиты.

1. Настройка аутентификации на основе ключей

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

[root@local-host]# ssh-keygen

[root@local-host]# ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host

2. Проверьте пароль без входа в систему между серверами

Войдите на удаленный хост с локального хоста без ввода пароля.

[root@local-host]# ssh remote-host
Last login: Sun Mar 15 16:45:40 2019 from local-host

[root@remote-host]#

3. Настройте rsnapshot и укажите каталоги резервного копирования удаленного хоста.

Определите каталоги резервных копий удаленного хоста в /etc/rsnapshot.conf, как показано ниже. В этом примере

  • root@remote-host: /etc — исходный каталог на удаленном хосте, для которого необходимо создать резервную копию. т. е. каталог назначения удаленного резервного копирования.
  • remote-host-backup / — каталог назначения, в котором будет храниться резервная копия удаленного хоста. Обратите внимание, что этот каталог будет создан в каталоге local-host /.snapshots/ averageinternal.n‹/, как показано на последнем шаге.
# vi /etc/rsnapshot.conf

backup  root@remote-host:/etc/  remote-host-backup/  exclude=mtab,exclude=core

4. Тестирование конфигурации rsnapshot

Выполните тест конфигурации, чтобы убедиться, что rsnapshot настроен правильно и готов к выполнению резервного копирования rsync в Linux.

# rsnapshot configtest
Syntax OK

5. Добавить запись Crontab для rsnapshot

После того, как вы проверили правильность настройки ежечасного и ежедневного резервного копирования rsync в утилите rsnapshot cwrsync, пришло время настроить этого щенка в crontab, как показано ниже.

# crontab -e
0 */4 * * * /usr/local/bin/rsnapshot hourly
30 23 * * * /usr/local/bin/rsnapshot daily

6. Вручную протестируйте резервную копию удаленного хоста один раз.

[root@local-host]# /usr/local/bin/rsnapshot hourly

[root@local-host]# ls -l /.snapshots/hourly.0/
total 8
drwxr-xr-x 3 root root 4096 Jul 22 04:19 remote-host-backup
drwxr-xr-x 3 root root 4096 Jul 13 05:07 localhost

[root@local-host]# ls -l /.snapshots/hourly.0/remote-host-backup/
total 4
drwxr-xr-x 93 root root 4096 Jul 22 03:36 etc

Советы по устранению неполадок

Проблема : rsnapshot завершился с ошибкой : /usr/bin/rsync вернул 20, как показано ниже.

[root@local-host]# /usr/local/bin/rsnapshot hourly
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(260)
[receiver=2.6.8]
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/usr/local/bin/rsnapshot hourly
----------------------------------------------------------------------------
ERROR: /usr/bin/rsync returned 20 while processing copyman@192.168.2.2:/etc/

Решение. Обычно это происходит, когда пользователи, выполняющие rsnapshot (rsync), не имеют доступа к удаленному каталогу, который вы пытаетесь сделать резервную копию. Убедитесь, что каталог резервного копирования удаленного хоста имеет соответствующие разрешения для пользователя, который пытается выполнить rsnapshot.

 2019-2020 © linuxadmins all rights reserved

Facebook Twitter Vkontakte