Overview
Create a GUI to use with a built in Windows backup program called ROBOCOPY
Motivation
At present, the prograsm requires the user to create a batch file that contains all the nessecary information required to do the backup the way the user needs
Description
ROBOCOPY is designed to do an incremental back, (only copy files that have changed). This creates an exact copy of the file to a separate drive in a copy and paste format, so that if the user’s computer becomes unusable, the drive can be plugged into any other windows-based computer to enable access to the files. The first time the backup is done, it usually takes a long period of time depending on the size of the data you are trying to back up. Subsequent backups generally happen much quicker because of the incremental nature of the program to only copy new files or files that have changed.
If the person is regularly creating new files or changing existing files, it is recommended to run the program on a more regular basis, (i.e., daily or weekly). If the user rarely changes or adds new files, the backups can be done less frequently. I always explain to my clients that the frequency of the backups is determined by their own comfortableness.
At present, most backup software creates a single file in a format that is more commonly only able to be opened if the same software is installed on the next computer as which the backup was created. This creates many problems for the user, especially if the machine they wish to access their files on belongs to someone else. That person may not wish for you to install any new software onto their system that they are unfamiliar with. The other main problem that can arise is if you weren’t keeping your own system secure, there is the potential for you to give virus’s access the persons computer you are trying to use.
Another issue with proprietary backup software, is the size of the created image and the need for that image to be extracted to recover the files. If you have a lot of files backed up, the image size will be quite large and that amount of space is required on the new computer to extract everything. If you are using a Windows tablet or similar, these machines rarely have much internal storage.
If the backups are done to another drive, the files are readily accessible and don’t need restoring.
At present, if you are required to do multiple backups to different drives, or different drives require backups, you need to create a new batch file for each instance. Unless you have programming knowledge, it is very time consuming difficult to edit an existing batch file for each drive you wish to back up to.
I have looked at an existing GUI for ROBOCOPY and I find it very unfriendly for a novice user to use.
The user must select the drive they want backed up and the drive they wish to backup to, as well as select the criteria for the type of structure for the backup. This needs to be simplified so the user doesn’t need to make so many choices without first understanding what each thing means. (i.e., Copy a single file: robocopy C:\Folder1 C:\Backup myfile.xlsx, Copy only a specific file type from source to destination: robocopy C:\Folder1 C:\Backup *.docx /E).
These commands can be very confusing with knowledge of what each thing means.
Like any backup program, the biggest drawback will be getting the end user to use it frequently, it would be much better if the program can be automated to occur at a given time frequency. The time of the day and the day/’s of the week could be pre-set to coincide with the users usage of the computer.
Currently the program enables backups to be done on internal drives, external drives and network drives. I would like to add the facility for the backups to be done to cloud storage as well.
The biggest obstacle with this project is my lack of knowledge in programming. I am intending to take the programming course at a later stage which will give me more time to contemplate any other issues that I can think of and also fine tune how I want the GUI to look and operate. Another obstacle would be security if doing the backups to the cloud. The client would need to add some sort of encryption to the files being backed up as they are and exact mirror copy of the original files. If someone was able to hack the cloud storage that didn’t have the correct security protocols in place, the would be able to use those files as weapons against the client.
Tools and Technologies
The tools and technologies I will require will be a computer system that will enable me to do programming and an understanding of how GUI’s work and operate.
Skills Required
At present I have no understanding of how programming in a text-based language can be turned into an operation exe file to run the program. I will need to have extensive knowledge of programming to be able to achieve the results I want.
I will need to do a programming course to get an understanding of how the programming language works, then gain more advanced skills in programming to enable me to develop the end result.
Outcome
This is something I have setup numerous times at present for my clients to do their backups, but the current system requires the user to manually do the backup at an interval they are comfortable with. It also requires me to write individual batch files to suit their IT structure. I would like to make it automated so that they and myself are confident that their files are being backed up in case of an emergency.