We require a backup tool written in Java. The tool will perform the following steps:
1) Based on a time defined in a Java property, the tool will wake up
(400 = 4:00AM, 2200 = 10 PM).
com.bronzeage.sys.backup.time=400
2) It will issue one or more Linux commands defined in Java properties. Note that commands which start with an "-" will not stop execution of the backup on failure, commands without an - will abort the backup on failure
com.bronzeage.sys.backup.precmd1=-rm /tmp/zeus
com.bronzeage.sys.backup.precmd2=mysqlhotcopy -u root zeus /tmp
com.bronzeage.sys.backup.precmd3=tar zcf /tmp/[login to view URL] /tmp/zeus
4) It then transfers via FTP the directory of files to a destination using the FTPClient class in the package [login to view URL]
com.bronzeage.sys.backup.fileToTransfer=/tmp/[login to view URL]
com.bronzeage.sys.backup.destUser=backupU
com.bronzeage.sys.backup.destPassword=backupP
com.bronzeage.sys.backup.destNode=localhost
com.bronzeage.sys.backup.destDir=zeus
where the destination directory is ~///for example:
Log in to "localhost" as user backupU, password backupP and FTP the file /tmp/[login to view URL] to ~./zeus/2007-07-03/[login to view URL]
5) It will issue one or more Linux commands defined in Java properties
com.bronzeage.sys.backup.postcmd1=rm /tmp/[login to view URL]
6) It will support a timer for the backup procedure as whole in seconds. Exceeding the timeout will generate an exception.
E.g. com.bronzeage.sys.backup.timeout=3600
The tool must be delivered with JUnit tests and Javadoc comments. It must handle all exceptions and errors by outputting a log message (using the Logger object) and going back to waiting until the next day.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased.
## Platform
Linux