in reply to Sync via FTP

turbo-ftp-sync perl script (cpan Net::FTPTurboSync) is close to your demands. It doesn't reload entire folder tree every time. It is stable before often network denials because it remembers info about already uploaded files and folders.