rsync (англ. Remote Synchronization) — программа для UNIX-подобных систем, которая выполняет синхронизацию файлов и каталогов в двух местах с минимизированием трафика, используя кодирование данных при необходимости. Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). rsync может копировать или отображать содержимое каталога и копировать файлы, опционально используя сжатие и рекурсию.
rsyncd — демон, реализующий протокол rsync. По умолчанию использует TCP-порт 873.
grsync — простой графический интерфейс, использующий GTK2, для консольной утилиты rsync. Поддерживается, на данный момент, только ограниченный набор наиболее важных возможностей rsync.
apt install rsync
sed -i 's/RSYNC_ENABLE=false/RSYNC_ENABLE=true/' /etc/default/rsync
uid = nobody gid = nogroup use chroot = no max connections = 10 pid file = /var/run/rsyncd.pid [storage1] path = /srv/storage1/ comment = Storage1, ro world-wide access read only = yes auth users = user1 secrets file = /etc/rsyncd.pass
user1:password1 user2:password2 user3:password3
service rsync restart
chown root:root /etc/rsyncd.pass && chmod 600 /etc/rsyncd.pass
Пример скрипа синхронизации:
#!/bin/sh export RSYNC_PASSWORD="password1" rsync --delete -ratlz rsync://user1@server/storage1 /srv/storage