profile picture
profile picture for mobile

JORDAN HOOK

SOFTWARE DEVELOPER

Backup Generator

Category: Desktop Application (C#)


The Backup Generator project is a small C# application I wrote a while I was attending Seneca College to create daily backups of my school work. With the help of the ZipFile library that was built into the .NET framework the backup program would create compressed, encrypted backups of user specified directories. 

The project is currently available on github and is actually about to be rewritten as a command line tool for windows. I will update this post when the new version is complete however if you are interested in the project at this time you do need to create a couple of files in order for the backup generator to execute. 

All of the following .txt files need to be created in the same executing directory of the Backup Generator executable. 

key.txt

the_secret_encryption_password

The key.txt file contains the password or key for encrypting and decrypting the backups. 

source.txt

C:\sources
D:\c# projects
D:\c++ projects
D:\xampp

The source.txt file contains a list of directories separated by new lines of the directories in which you would like to create a backup of. 

destination.txt

z:\backups

The destination.txt file contains a single path to where you would like your backups to be stored after compression and encryption. 

Once you have created the required files you can run the executable to create a backup. It will be stored in a timestamped file in the destination locate you specified. 

If you want to decrypt and decompress the files simply drag and drop the encrypted backup onto the executable and let it execute. Alternatively, using command prompt you could specify the location of the file you wish to decrypt as the only parameter. 

If you are interested in the source or in obtaining this project please visit my github via the link below. 

Backup Generator 0.1 (Alpha) - Github

As I said before I will be recoding this to add full command line support, new encryption and compression options and automated tasks.