FileSink is a file synchronization and replication application written in Java published under GNU GPL v2. The file operations of this application currently support locally mounted file systems only, and SFTP connections. In order to synchronize files with remote destinations, those destinations must appear to be locally mounted in order for this application to work correctly, or connected to via an SFTP connections.
FileSink provides a command line
interface in order to keep scheduling and configuration of the
application execution simple. Setting up separate configuration files
for different operations will make life easier. An example
configuration file is provided in the root directory of this
Consult the Javadoc documentation for specific API information.
Filesink has been developed and tested using the Sun Java SDK 5.0. I would suggest using this platform to use this application. This application will not work with any version of the SDK lower then 5.0.
Filesink includes the Java Network Browser library. This library is currently required for remote SFTP connections. Hopefully this library will be useful as well when development of a GUI ever takes place. You do not need to download this library, it is included in the Filesink download. This library provides SFTP connections via SSHTools.
"Why would you reinvent the wheel? Why bother? There are plenty of other file synchronization applications available, why should I use yours?"
First, I don't care if you use this software or not, but if you do download it and are using it, EMAIL ME! Second, I am doing this for me. I enjoy software, I enjoy learning, and that is that... almost. I also have a need/desire to maintain multiple copies of my files across systems, and need/desire to keep those files in sync. Most software I came across I either didn't trust, or was overly complex. So I thought, why not just make my own.
Visit the download section on the project page to download the latest official release.
You can also browse the
Subversion repository to view the most current version of the source.
To check out the most recent version of the source, you will need the SVN client
svn co https://svn.sourceforge.net/svnroot/filesink filesink
to check out.
Source code of this application is available via the SVN repository and for download. The "tags" directory of the SVN repositroy is your best bet you get the actual source code for a release.
To build the source file releases, check out the tagged version of the code you want. The trunk will contain
the most recent version of the code, but it may or may not work. Or just download the release source.
build.xml to build the source using Ant. The default target in the build is to
To generate a working JAR of the code, use the
jar target task. You might have to change the values
in the build file to fit your environment. For example, if your have compiler is in a different loction, you must
give the correct path.
To run this application, unpack the downloaded archive, and change to that directory. There is a jar file in
the root of the created directory that will be
To run this file, execute:
$ java -jar propertiesfile.xml sourcedirectory destinationdirectory
The propertiesfile.xml contains all your settings, sourcedirectory and destinationdirectory are directories, they must exist. If connecting to a remote destination, the path should be relative to the machine you are connecting too.
Please contact Terry at tepie at users dot sourceforge dot net with any comments, suggestions, bugs, or jokes. I would like to hear any feedback, suggestions, problems, etc. If you so much as looked at this page and have a reaction, let me know about it.