Sync files and directories over SSH.

Update destination files according to the source size and modified time.
Remove destination files and directories if not present at source or excluded (include/exclude parameters).


Example:

    # We synchronize a stock Android phone sdcard mountpoint to our home (assuming a SSH server is running on the device)

    from sftpsync import Sftp

    sftp = Sftp('192.168.1.149', 'root', 'password', port=2222)

    src = '/mnt/sdcard'
    dst = '/home/user/phone-backup/'

    # We don't want to backup everything
    exclude = [r'^Music/', r'^Video/']

    sftp.sync(src, dst, download=True, exclude=exclude, delete=True)


    # We sync a local directory to the phone
    src = '/home/user/data/code/sftpsync-py'
    dst = '/mnt/sdcard/data/'

    sftp.sync(src, dst, download=False, delete=True)
    
    
Install:

        pip install sftpsync

or
        conda install -c mjirik sftpsync
