SFTP sync library
Python Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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).


    # 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('', '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)