centos rsync backup

Rsync (Remote Synchronization) — Синхронизирует файлы и каталогов с минимальными затратами трафика.
Важным отличием rsync от другого похожего софта является то, что синхронизация осуществляется одним потоком в каждом направлении.
Простым языком:
Rsync Допустим у нас есть отдельный сервер куда будут сливаться бэкап .
С сервера куда мы хотим бэкапы сливать, запускается скрипт/команда rsync с параметрами, которая соединяется с удаленными тачками в сети.
На всех тачках должнабыть запущенна и работать Rsync служба, в конфигурационном файле мы прописали какие именно директории нам нужно синхронизировать.

Установим rsync

yum install -y rsync

Rsync мы будем запускать через xinitd
Суперсервер xinetd пришел на замену устаревшему серверу inetd. Любой сервер, обрабатывающий запросы, обычно может работать в двух режимах.
Если у нас не установлен xinitd. то установим его.

# yum install -y xinetd

Отредактируем конфиг xinetd.

# nano /etc/xinetd.d/rsync
изменим параметр 
disable = yes 
на 
disable = no

Что бы наши изменения вступили в силу мы должны перезагрузить демон xinetd

# /etc/init.d/xinetd restart

Добавим в автозагрузку

# chkconfig xinetd on

теперь нам нужно проверить слушаеться ли xinitd

# netstat -lnpt | grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 3210/xinetd

Теперь приступим к конфигурации rsync.

# nano /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
motd file = /etc/rsync.motd
log file = /var/log/rsyncd.log
transfer logging = true

[share]
path = /mnt/share/users
comment = For backups from local servers
uid = nobody
gid = nobody
hosts allow = 10.5.2.0/24
hosts deny = *

[site]
path = /var/www/localhost/likeunix.ru/
uid = root
read only = yes
list = yes
comment =  Site directory
hosts allow = 10.5.2.0/24
auth users = bagas
secrets file = /etc/rsyncd.scrt

такс разберем наш конфиг.
uid/gid — Имена групп, можно указать root, но это не эстэтично.
use chroot — запуск rsync в chroot, для большей безопасности.
log file — Файл логов.
transfer logging — Писать в лог о скачиваемых файлах
max connections — Максимальное число конектов
[share] — название блока
path — Путь что сохраняем.
hosts allow — Указываем список сетей или IP адресов, с которых разрешен доступ к шаре:(сети указываем через пробел)
hosts deny — Каие сети IP адреса запрещены
secrets file — Файл с имена пользователей и паролей.
list — Разрешить просмотр файлов.
auth users — список пользователей rsyncd, которым разрешен доступ к шаре (через пробел).
comment — Коментария к шаре.
read only — режим только чтение

Создадим файл приветствия.

# nano /etc/rsync.motd
################################

Hello from rsync server
Server Adress : 10.5.2.0

################################

Файл приветствия можете свой создать.

Так теперь файл с паролями, так как они у нас будут храниться в открытом виде, надо поставить на них жесткие права

# chown root:root /etc/rsyncd.scrt && chmod 600 /etc/rsyncd.scrt

Выглядит он так.

# nano /etc/rsyncd.scrt
bagas:passwod
shuga:password

Проверим.

#rsync rsync://[email protected]/

Теперь сама команда копирования.

# rsync -uroghtp –progress –delete-after –password-file=/etc/rsyncd.scrt [email protected]::backup /mnt/share_25/

-e ssh Использовать ssh для связи с сервером.
-v, –verbose увеличение отладочной информации, если вы планируете запускать по расписанию то этот пункт вам не нужен.
-u, –update пропускать обновление файлов.
-r, –recursive разрешаем рекурсию в директориях
-o, –owner сохраняем владельца (только под root)
-g, –group сохраняем группу
-h, –human-readable вывод цифр в читаемом виде (Кб, Мб, Гб)
-t, –times сохраняем дату изменения
-p, –perms сохраняем права доступа
–delete-after удалить после синхронизации из директории назначения файлы,отсутствующие в исходной диретокрии.
–password-file Указываем путь, где находится файл с паролем.
-z Упаковываем поток с помощью gzip.

Оригинал likeunix.ru/centos-rsync-backup/

Запись опубликована в рубрике *CentOS. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Я не спамер This plugin created by Alexei91