Играем в сохраняшки

Первая заповедь гласит: всегда делай бекапы.

Сегодня мы и займемся соблюдением этой заповеди при помощи святой мощи rsync и бесовского паладина cwrsync.

Для начала настроим хост. Создаем файл /etc/rsyncd.conf и прописываем туда следующее:

uid=root
read only=true
use chroot=false
max connections=2
log file=/var/log/rsyncd.log
hosts allow=192.168.0.12

[backup]
comment=»Backup of host»
path=/path/to/data
list=true
auth users=%username%
secrets file=/etc/rsyncd.secrets
strict modes=true

Я не буду вдаваться в описание каждой настройки, всё это можно почитать тут. Если кратко, то мы запускаем rsync от рута (да-да, надо в чрут, но сейчас не про это) и разрешаем доступ с доверенного хоста. Заодно запрещая ему что-либо записывать. Ниже идет секция задания. В конфиге их может быть несколько. Там мы указываем что бекапить, и какому юзеру можно это делать.

Следующим шагом будет как раз добавление юзеров для работы с rsync. Тут всё предельно просто. Создаем файл /etc/rsyncd.secrets и добавляем туда пользователей и пароли для них вот в таком формате:

username:password

Настройки есть, пользователи тоже. Далее обезопасимся от еретиков и откроем врата. =)

# chown root:root /etc/rsyncd.*

# chmod 600 /etc/rsyncd.*

# rsync —daemon

Далее добавим правила для iptables:

-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp —dport 873 -j ACCEPT
-A INPUT -p tcp -m tcp —dport 873 -j DROP

С хостом мы закончили. Но если что-то не получится, то можно попробовать отключить SELinux

# getsebool -P rsync_disable_trans 1

На бекапной машине (в моём случае это форточки) мы ставим cwrsync открываем консоль и пишем следующее:

c:\path to\cwrsync\bin\rsync.exe xxx.xxx.xxx.xxx::

Если всё отлично, то результат будет в виде списка заданий. Вызвать задание можно следующим образом:

rsync —recursive —update —delete -v user@xxx.xxx.xxx.xxx::backup /cygdrive/X/path to/

В данном случае мы делаем рекурсивное сохранение с удалением несуществующих файлов на бекапной машине.

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

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