Logo

.jPMBB


Contents:

01) What is it?
02) Pre-requisites
03) Download
04) How it works?
05) Main Features
06) Application Diagrams
07) Command syntax
08) Configuration
09) Report
10) To-do
11) Programming tools
12) Support
13) User's Comments



What is it?

It is a GPL, command-line software written in Java, that intents to be an easy way to make backups of large amount of files into medias such as CDs or DVDs. This application also compress groups of files to fit in the size of destination media. To avoid integrity problems during decompression, no files are splited. So you will never need two or more archives to decompress one single file. By the way, jPMBB means Java Poor's Man Basic Backup

Pre-requisites:

- Any kind of machine with JRE 5 (Sun Java Runtime Machine) or greater (IBM SDK for Java Version 6)


Download:

Stable version (with source code): jPMBB-0.0.1.tar.gz Version: 0.0.1 [2007-july-19]
Source code with Eclipse Project: ECLIPSE_PROJECT_jPMBB-0.0.1.tar.gz
LAST CHANGELOG


How it works?

1)Reads a configuration xml file (conf.xml)
2)Scans all files and directories to be archived in a backup
3)Checks if any file has a size bigger than destination media size
4)Skips files and directories described in exception list inside configuration file
5)Starts compression of files until the size limit of destination media
6)When compression of files reach the size limit, the software asks user to continue or not with next compression.
7)After completion of all compressions the application generates a XML and HTML report with information of all files/directories compressed per group and all files/directories skipped


Main Features:

- ZIP Compression
- Verbose/Log option
- Complete Backup's report generation in XML/HTML formats
- Backup's process configuration in XML format
- Backup's partitioning by destination's media size
- No file breaking. All files are stored individually, without division
- OS Independent

Application Diagrams:

Use Case Diagram

jPMBB Use Case diagram


Sequence Diagram

jPMBB Sequence diagram


Class Diagram

jPMBB Class diagram


Command syntax:

java -jar jPMBB.jar conf.xml

Configuration:

All configuration of jPMBB can be found inside conf.xml file. Bellow you can see how to set each value:

Tag: Details: Example:
COMPRESS_PATH Is the root path that you want to make a backup /home/user/
FILE_LIMIT Is the size limit of destination media in bytes. 650000000
OUTDIR Is the location where the compressed files will be saved /tmp
OUTFILE Is the name that will be used in compressed files. Also after name jPMBB adds a number to identify each file. my_backup
REPORTXML Is the path and name where the report in XML format will be created, usually jPMBB/conf/report.xml jPMBB/conf/report.xml
REPORTXSL Is the path and name of XSL file that will be used to transform XML report into HTML report. Usualy jPMBB/conf/report.xsl jPMBB/conf/report.xsl
REPORTHTML Is the path and name of HTML file that will be create to report all backup process. /tmp/report.html
DELETELAST It is a boolean value. If true, when jPMBB asks to continue with compression of next file, the last one will be deleted. false
VERBOSE Also, it is a boolean value. If true, all application's operations will be printed on screen. Otherwise all operations will be logged in a text log inside root of application execution path, with follow filename jPMBBddMMyyyy.log true
PATH The tag PATH is located inside EXCLIST. So PATH means the location of files or directories that you do not want to backup. /home/user/Desktop


See an example of conf.xml file.


Report:

One of the best ways to understand what jPMBB does is looking to it report, generated after each run. Here is an example of a report generated after the backup of my eclipse directory in parts of 50Mbytes.

To-do:

The next version of jPMBB will include an Complete/Incremental backup option that will check all files already backuped/compressed to make a new backup only with modified files and new ones.
This new feature will be availible in about october/2007.

Programming tools:

- Linux 2.6.21.5 (Debian Etch)
- Eclipse 3.2
- JDK 1.5 (JSE)
- Umbrello UML Modeller 1.5.5
- JEdit 4.3
- gFTP 2.0.18
- Firefox 2.0



Support:

To receive support or to inform bugs send an email to Jose Damico (My Email). Or leave a comment bellow.

User's Comments:

Toninho: Muito bom, este programa, Damico, talvez para as próximas versões, o sistema pude-se contemplar as seguintes caracteristicas: - o sistema de mensagens do programa poderia estar em um arquivo (.lang) para facilitar a conversão de idiomas. - o usuário poderia escolher o tipo de compressão (.gzip, .rar, .jar, .iso etc ) - o usuário poderia escolher mais de um a unidade de CD/DVD para bachups simultâneos (THREAD), executados após um pré-calculo do volume dos arquivos compactados. - criar imagens de um HD em multiplos volumes. - o programa também poderia descompactar (RESTORE) - opcionalmente, o sistema poderia exibir uma interface para facilitar a utilização. finalizando, parabéns por sua iniciativa e me coloco a sua disposição. abraços Toninho. (27/07/2007)
Toninho: Muito bom, este programa, Damico, talvez para as próximas versões, o sistema pude-se contemplar as seguintes caracteristicas: - o sistema de mensagens do programa poderia estar em um arquivo (.lang) para facilitar a conversão de idiomas. - o usuário poderia escolher o tipo de compressão (.gzip, .rar, .jar, .iso etc ) - o usuário poderia escolher mais de um a unidade de CD/DVD para bachups simultâneos (THREAD), executados após um pré-calculo do volume dos arquivos compactados. - criar imagens de um HD em multiplos volumes. - o programa também poderia descompactar (RESTORE) - opcionalmente, o sistema poderia exibir uma interface para facilitar a utilização. finalizando, parabéns por sua iniciativa e me coloco a sua disposição. abraços Toninho. (27/07/2007)
Ernani Joppert: That is an excellent job Damico. According to the specs, this is really clean and well explained. I will make some tests with this soon. As Juliano's comments abouve, the UI interface to store metatada to each backup procedure is a really nice idea. Keep up the good work. (23/07/2007)
Juliano: Nice jobs buddy! When I have some time I can test here. One suggestion is that your program can send a email when it finish the compress. It can send the generated log by mail. One second suggestion is: the program can have a interface with a database and store the logs there, then, you can develop a web interface to show old backup logs to users/managers, etc. Best regards, Juliano (23/07/2007)
João Adalberto: Congratulations, your project is very good, we hoped to do something similar. Hugs (22/07/2007)


Name:
Email:
Comment:
 



SourceForge.net Logo
Go back to jd.comment
Valid XHTML 1.0! hacker emblem