FtpSync is a command line utility that monitors a directory and uploads changes to remote ftp location. Great tool for web developers, to upload modified files to the web site instantly.

FtpSync supports:
- create directories
- create new files
- update files (overwrite)
- delete files.

Configuration is stored in customizable properties files.

Uploaded files are printed in terminal window where FtpSync was started.

FtpSync requires Java 6 to run. It is supported on Linux, OS X and Windows systems.

User manual


Download and unzip FtpSync-x.y.z.tar.gz to custom location on disk.


Configuration of remote hosts and syncing directories is stored in ftpsync.properties file. You can copy it and create configurations for many remote hosts.

ftp.hostname - hostname or IP of remote host
ftp.username - username for authentication
ftp.password - password for authentication
sync.interval - time interval in seconds when source directory is scanned for changes
sync.destination - destination directory (target)
sync.source - source directory (origin)
sync.exclude - list of files or directories to ignore

Changes in local source directory will automatically be reflected in destination directory on remote host.

Before start

Make sure that remote host is accessible with FTP protocol.

On Linux and OS X systems check if permissions of start.sh script are set to executable. If not execute the command: chmod a+x start.sh


Open console (cmd) window and go to FtpSync-x.y.z directory.

Start FtpSync with:

$ ./start.sh <properties>

where <properties> is a property file defined by the user.

If properties file is not given the default properties file will be loaded (ftpsync.properties).


From console (cmd) window where FtpSync was started execute:

ctrl + c


I do not take any responsibility regarding the usage (or misusage) of ftpsync.