Не советую изобретать свою систему, пользуйся готовым rsync, который может работать как по своему протоколу (рекомендуется, для этого на обоих сторонах запускается rsyncd) так и к примеру по ssh, так же штатно scp умеет копировать только изменившеися файлы по ssh, ничего дополнительно настраивать и устанавливать не надо.
по теме, я пилил простенькую програмку, на сервере-источнике маленький php сервер, возвращающий список новых файлов (у меня было много серверов источников файлов, и один клиент, он запрашивал список с каждого, проверял наличие их локально и скачивал отсутствующие), а каталог с файлами расшарен как обычный каталог со статикой в веб сервере, файлы загружались с помощью wget (у него штатная поддержка докачки прерванных, но можно что-нибудь еще поискать)