Если возможно, используйте rsync. Большая часть NAS предоставляет rsync услугу в наше время, это более безопасно, чем кто-то совместно использует, и это позволяет Вам регулировать bandwith точно. Кроме того, это только передаст различия между Вашими файлами, скорее та передача все каждый раз.
Обычно каждая машина, которая предлагает услугу, выполнит демона Zeroconf, и клиенты будут искать это в сети. На этом поле Debian, например, существует названный процесс avahi-daemon
. Для рекламы сервиса программа говорит с демоном. Простой способ сделать, который является с программой avahi-publish
, который регистрирует сервис в демоне:
avahi-publish -s myservice _http._tcp 12345 "Here it is"
Пока та программа не завершается, avahi-browse
найдет его:
$ avahi-browse -t _http._tcp
= eth0 IPv4 myservice Web Site local
hostname = [mymachine.local]
address = [192.168.1.123]
port = [12345]
txt = ["Here it is"]
Большую часть времени Вы не захотите запускать отдельную программу только для публикации сервиса, таким образом, у демона будет немного кода, чтобы сделать это. Вот некоторые хорошие примеры того, как сделать это в Python. Существует простая функция, которую Вы вызываете как это:
# Downloaded from http://stackp.online.fr/?p=35
# Thanks to Pierre
#
from ZeroconfService import ZeroconfService
import time
service = ZeroconfService(name="Joe's awesome FTP server",
port=3000, stype="_ftp._tcp")
service.publish()
Снова, большую часть времени Вы не должны выполнять avahi-обзор, потому что Ваш браузер может, вероятно, найти эти вещи для себя. Safari может на Mac, например - ищут меню "Bonjour".
Можно также найти машины с помощью zeroconf. Моя машина является использованием addressible .local
домен:
ssh mymachine.local
будет работать, даже если машина не будет в DNS. Очень полезный для домашней сети!