pkg install rsync
Настройка rsync для FreeBSD:
rsyncd.conf:
log file = /var/log/rsync.log # Писать в лог о скачивание файлов transfer logging = true # Set this if you want to stop rsync daemon with rc.d scripts pid file = /var/run/rsyncd.pid # Edit this file before running rsync daemon!! #uid = nobody #gid = nobody #use chroot = no #max connections = 4 #syslog facility = local5 [backup] uid = root path = /main/SHARED/rsync auth users = user secrets file = /usr/local/etc/rsync/rsyncd.scrt list = yes read only = false # Далее может идти описание других секций(по аналогии с samba и шарами)
Описание параметров:
uid = root # пользователь, от которого будем выполнять синхронизацию
gid = root # группа, от которой будем выполнять синхронизацию
path = /mnt/data/ # путь до ресурса, для которого выполняется синхронизация.
hosts allow = 192.168.18.231 # к каких хостов есть доступ к серверу
hosts deny = * # хосты, доступ с которых к rsync серверу запрещен (в данном примере, со всех, кроме разрешенных).
auth users = user # проверка подлинности, вводом логина и пароля.
secrets file = /usr/local/etc/rsync/rsyncd.scrt # файл с логинами и паролями
read only = yes|false # запись разрешена|только чтение.
list = yes # разрешить или запретить чтения содержимого каталога. Если установили(no), синхронизация может выполняться только для перечисленных файлов.
echo "user:123456" > rsyncd.scrt chmod 0600 /usr/local/etc/rsync/rsyncd.scrt
Добавляем сервер rsync в автозагрузку
sysrc rsyncd_enable="YES"
Запускаем
service rsyncd start
Команда для синхронизации
rsync опции источник приемник
rsync -avz rsync://backup@192.168.18.130:/backup /mnt/backup
Опции команды Rsync
Теперь давайте кратко рассмотрим параметры rsync. Здесь перечислены не все опции. Для более подробной информации смотрите man rsync:
- -v — Выводить подробную информацию о процессе копирования;
- -q — Минимум информации;
- -c — Проверка контрольных сумм для файлов;
- -a — Режим архивирования, когда сохраняются все атрибуты оригинальных файлов;
- -R — Относительные пути;
- -b — Создание резервной копии;
- -u — Не перезаписывать более новые файлы;
- -l — Копировать символьные ссылки;
- -L — Копировать содержимое ссылок;
- -H — Копировать жесткие ссылки;
- -p — Сохранять права для файлов;
- -g — Сохранять группу;
- -t — Сохранять время модификации;
- -x — Работать только в этой файловой системе;
- -e — Использовать другой транспорт, например, ssh;
- -z — Сжимать файлы перед передачей;
- —delete — Удалять файлы которых нет в источнике;
- —exclude — Исключить файлы по шаблону;
- —recursive — Перебирать директории рекурсивно;
- —no-recursive — Отключить рекурсию;
- —progress — Выводить прогресс передачи файла;
- —stat — Показать статистику передачи;
- —version — Версия утилиты.
Синхронизации телефона(андроид)
можно осуществить с помощью програмы Syncopoli: https://gitlab.com/fengshaun/syncopoli#

Команды для расследования ошибок:
tcpdump -vni re0 tcp port 873
tail -f /var/log/rsync.log
Источники:
https://www.lissyara.su/articles/freebsd/programms/rsync/
https://osbsd.com/ustanavlivaem-i-nastraivaem-rsync-server-na-freebsd.html