FTP SyncAgent is a software that keeps a local folder and a remote FTP folder in sync. All what you need to do is to create a Java properties file (explained here) and start it.
Currently there is only a console-based UI and you will be asked for files to download/upload or remove.
Later on, I will provide a more intelligent agent module which can be pre-configured for common descision patterns and which will be able to choose automatically what to do. Thus, the agent should be able to run as a cron job and periodically check for required updates.
1. Download the latest release of FTP SyncAgent and the two dependent libraries: Jakarta Commons Net and ORO (you will only need the two JAR files commons-net-[version].jar and jakarta-oro-[version].jar).
2. Create a properties (config) file for each directory to sync, e.g. syncedFolder.properties and save it somewhere, let's say in /home/myUser/syncedFolder.properties. The file should contain at least the following lines (you can copy it from here!):
ignore=.backup .bak ~
The host, port, user, and pass properties should be clear, the remoteFolder is the path to the remote folder relative to the FTP home directory (e.g. /mySyncedFiles), the localFolder is the absolute directory path to the local folder to be synced (e.g. /home/myUser/aFolderToSync). The property verbose is just for a more detailed output to the shell when sychronising, passive will enable (or disable) a passive connection to the server (if you are behind a firewall our gateway router), and using ignore you can specify file suffices to exclude.
3. Setup the classpath or specify it when starting (as shown here at the next step). The classpath must contain the two dependent JARs as described under requirements and the FTP SyncAgent JAR file ftpsyncagent.jar.
4. Now you can run FTP SyncAgent with the following command (you must adjust the path to the JAR files according to your directory structure! Create a shell script or batch file for an easier startup):
java -cp /opt/javalibs/ftpsyncagent.jar:/opt/javalibs/commons-net-1.4.1.jar:
The basic usage is:
java -cp [jar-files] at.langegger.ftpsa.SyncAgent [custom properties-file]
5. That's all. For any questions, contact me (via e-mail, address below).
· Java Runtime 1.4
· Jakarta Commons Net.
· As well as Jakarta Oro.