After a long research I realised that csync (www.csync.org) is the best way to keep my files in sync!
Csync supports sftp and smb and there is a special owncloud version that supprots webdav as well.

Under linux it is very easy to compile it. However on Mac it is a little bit more complicated:

Befor you start you should install Macports.

If you have Macports installed:

sudo port install git-core sqlite log4c

Create a directory csync and do the following:

mkdir csync
cd csync
git clone git://git.csync.org/projects/csync.git master
git clone http://github.com/ndevilla/iniparser.git
mkdir csyncbuild

Modify the Makefile of iniparser:

  • Remove: -Bsymbolic -Wl,
  • Replace: -soname= with -install_name,

Now type make in the iniparser folder!

in the file csync_propagate.c somewhere in the master folder add:

#define O_NOATIME 01000000

add following line to: CMakeLists.txt in the master folder

include_directories (/opt/local/include/)

finally run folowing command in the buildcsync folder:

cmake -DCMAKE_BUILD_TYPE="Debug" -DLOG_TO_CALLBACK=ON -DWITH_LOG4C=OFF -DLIBSSH_INCLUDE_DIRS=/opt/local/include/libssh/ -DINIPARSER_LIBRARIES=../libiniparser/iniparser/libiniparser.a -DINIPARSER_INCLUDE_DIRS=../libiniparser/iniparser/src/ ../master/

Now, type make

The csync binary is created in the client folder!

Have Fun!