Как сделать резервную копию удаленного хоста Linux с помощью утилиты rsnapshot rsync
В этой статье мы рассмотрим, как сделать резервную копию удаленного хоста Linux с помощью этой утилиты.
1. Настройка аутентификации на основе ключей
Настройте аутентификацию на основе ключей
[[email protected]]# ssh-keygen [[email protected]]# ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
2. Проверьте пароль без входа в систему между серверами
Войдите на удаленный хост с локального хоста без ввода пароля.
[[email protected]]# ssh remote-host Last login: Sun Mar 15 16:45:40 2019 from local-host [[email protected]]#
3. Настройте rsnapshot и укажите каталоги резервного копирования удаленного хоста.
Определите каталоги резервных копий удаленного хоста в /etc/rsnapshot.conf, как показано ниже. В этом примере
- [email protected]: /etc — исходный каталог на удаленном хосте, для которого необходимо создать резервную копию. т. е. каталог назначения удаленного резервного копирования.
- remote-host-backup / — каталог назначения, в котором будет храниться резервная копия удаленного хоста. Обратите внимание, что этот каталог будет создан в каталоге local-host /.snapshots/ averageinternal.n‹/, как показано на последнем шаге.
# vi /etc/rsnapshot.conf backup [email protected]:/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. Вручную протестируйте резервную копию удаленного хоста один раз.
[[email protected]]# /usr/local/bin/rsnapshot hourly [[email protected]]# 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 [[email protected]]# 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, как показано ниже.
[[email protected]]# /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 [email protected]:/etc/
Решение. Обычно это происходит, когда пользователи, выполняющие rsnapshot (rsync), не имеют доступа к удаленному каталогу, который вы пытаетесь сделать резервную копию. Убедитесь, что каталог резервного копирования удаленного хоста имеет соответствующие разрешения для пользователя, который пытается выполнить rsnapshot.