This application will be a user interface to a few command line utilities including [login to view URL], [login to view URL] and rdiff-backup (all of which are available free online) The end goal is a complete backup software package the backs up a client's data to our servers. It will give the user the ability to control which files are being backed up, when and also give them the ability to restore the files from the server. All of the heavy lifting is done in the existing programs already. I can control everything via batch scripts now, but I want something that everyone can use. This program must be written in a derivative of C or Basic and have plenty of notes in the code. I will be double checking the code myself for possible issues as time goes on. I will supply a test account on my server for you to test against and make sure your code does what it should. It would be a good idea to get acquainted with the rdiff-backup utility, SSH, SFTP and the other exes listed above. Below is the basic layout of the program and a description of some of the needed variables.
Version 1 (what the user sees)
Login page:
logs in via ssh (plink) and displays the contents of an account file in their home directory on the server, probably xml formatted (or done completely in MySQL)
Has text boxes for Username, Password
Login Button / Auto login on program open.
"Backup Now" Button.
Displays computer ID (non-editable after initial config).
During initial login GUI will:
add the "fingerprint" of the server to the registry
download the "privatekey.ppk" file from the server and save to the program directory of the GUI
Backup page:
builds a list of files/folders for rdiff to backup in a text file client-side
Shows File browser with check boxes to select which files/directories to backup with the "My Documents" folder(s) selected by default on install.
Gives the option to exclude certain files (in a second text file to be passed to the rdiff engine)
Scheduler page:
Edit when the backup will be taking place and create/edit an item in the windows task scheduler to initiate the backup.
Recovery page:
A drop-down menu at the top, with a list of the computer IDs
A second drop-down populated with a list of the dates and times of the previous backups
A file browser populated with the contents of the backup directory for that computer ID as it was at the time of the selected backup.
Has check boxes to select for recovering certain files (or the entire directory of that computer ID)
Check box at the bottom to recover to original directory
when selected, greys out a browse/directory selector box used to input where a recovered file/folder should go
when deselected, allows user browse for a destination directory
Log page:
Displays log file in an easy to read format.
Version 1 data/variables explanation:
Username and password:
set up by phone/in person on the server (manual)
create a username and pass on the server and a user directory in the /home folder (manual)
optionally cached on client side (GUI)
[login to view URL]
created by us during account setup process (manual)
downloaded to the client if it doesn't exist via [login to view URL] (GUI)
C:\Program Files\Version Clone\[login to view URL] -pw [password] [username]@[login to view URL]:/home/[username]/[login to view URL] "c:\Program Files\Version Clone\privatekey.ppk"
after it's downloaded, all communication with the server (except when a user authenticates upon opening the GUI) will use this key file.
Computer ID
setup on client side during install (GUI)
must be unique within the user account (GUI)
folder is created with the same name in the home directory of the user for each computer (GUI)
each computer backs up into it's directory corresponding to it's computer ID
Account info file (unless you want to do all this in MySQL)
created by us during account setup process (manual)
probably formatted in xml
downloaded before each backup and upon GUI login via [login to view URL]
C:\Program Files\Version Clone\[login to view URL] -pw [password] [username]@[login to view URL]:/home/[username]/[login to view URL] "c:\Program Files\Version Clone\accountinfo.txt"
contains account information pertaining to billing method, account size limits, expiration dates and payment status
Other variables will be necessary for proper operation of the GUI but are not needed when communicating with the server.
Functions of lower priority:
Installer will install all needed programs, registry entries (SSH keys for backup servers) and config files
Password protected UI option available
Allows use to see space usage of and delete old restore points
Shows a status bar during the initial backup based on the size of the files being backed up vs. the size of the target directory on the server
Hello
Is this graphical interface only or there need to be done backup programming(zipping,compressing,ftp,sftp, etc)?I can do either, the price is of all need to be done.
My skills are C++/MFC and all the rest technologies involved with MS Visual C++
Regards
This can certainly be done using VB.NET. Please allow some days for communication, timeline difference, etc. I am ready to start IMMEDIATELY. Please refer to PM.
This is a serious and complex task. I am ready to start working on it. You will have the complete solution on time, tested and bug-free. Also, free support and small modifications in the first 2 weeks of use. Loooking forward to hearing from you. Regards!
Actually I am successufully done lot's of database management application in visual basic with 7-8 experience. So i am able to do it as well as soon. Thanks bye