Подключение к rsync серверу
1) Через SSH
rsync -a --progress --bwlimit=15 -e 'ssh -p 2002' root@192.168.0.1:/mnr/smb /backup/
2) К демону
rsync -a --progress --bwlimit=15 192.168.0.1::smb --port=2002 /backup/
Ключи RSync
a– режим архива. на самом деле это заменяет ряд других ключей (-rlptgoD):
r– синхронизировать рекурсивно. Т.е. синхронизировать не только файлы верхнего уровня, но и каталоги с файлами внутри
l – при синхронизации сохранять символические ссылки
p – сохранять права на файлы
t – сохранять время изменения
g – сохранять группу
o – сохранять владельца
D – сохранять файлы девайса и специальны файлы (я так понимаю, что это речь о сохранении скрытых файлов и файлов типа .listing)
v – показывать информацию о ходе синхронизации. Просто по умолчанию rsync запускается в фоновом режиме. А с этим флагом будет работать как обычная программа и выдавать название каждого синхронизируемого файла. Так же можно написать -vv, тогда информации будет выдано еще больше.
z – при копировании сжимает данные. Если синхронизируем архивы, то лучше наверное не использовать.
-e 'ssh -p PORT' - Если нестандартный порт SSH
Настройка демона
Для Debian:
/etc/default/rsync
RSYNC_ENABLE=true
RSYNC_OPTS='--port=2002'
/etc/rsyncd.conf
...
# Файл приветствия (Можно описать информацию о самом сервере, полезно когда серверов будет много)
motd file = /etc/hello_rsync
# Файл логов
log file = /var/log/rsyncd.log
# Писать в лог о скачиваемых файлах
transfer logging = true
[smb]
path = /var/lib/vz/smb
read only = yes
hosts allow = 192.168.6.17
uid = root
/etc/hello_rsync
Hello from RSync server 172.17.85.21
touch /var/log/rsyncd.log
chmod 0600 /var/log/rsyncd.log
Если не указать "uid = root" права на директории должны быть 755, на файлы 644. Если не так - поменять
chmod -R ag+rX /var/lib/vz/smb/
/etc/init.d/rsync restart
Запуск копирования при использовании демона
nohup rsync -a --progress --bwlimit=15 192.168.0.1::smb --port=2002 /backup/ &
Запуск копирования при использовании SSH
Настроить авторизацию по ключам
ssh-keygen -t rsa
scp -P 22022 /root/.ssh/id_rsa.pub root@172.17.32.221:~/.ssh/authorized_keys
Запустить в фоне
nohup rsync -e 'ssh -p 22022' -a -P --bwlimit=10 somefile.ext root@192.168.0.1:/somedir/ &
Rsync — OpenWiki