I have a folder a/ and a remote folder A/. I now run something like this on a Makefile:
get-music:
rsync -avzru server:/media/10001/music/ /media/Incoming/music
I'm not sure whether it works with two syncing but for the --delete to work you also need to add the --recursive parameter as well.
Try Unison: http://www.cis.upenn.edu/~bcpierce/unison/
Syntax:
unison dirA/ dirB/
Unison asks what to do when files are different, but you can automate the process by using the following which accepts default (nonconflicting) options:
unison -auto dirA/ dirB/
unison -batch dirA/ dirB/
asks no questions at all, and writes to output how many files were ignored (because they conflicted).
You could also try bitpocket: https://github.com/sickill/bitpocket
You could try csync, it is the sync engine under the hood of owncloud.