I tried some freeware backups available and was not satisfied. As a regular user I need a tool which is launched with one button, doesn't contain tons of options which I will never use, and doesn't take hours and hours to secure my documents. I wrote in Python bk.py, an application that meets all of my requirements and is an extremely fast incremental backup tool.

bk.py runs on Windows and Linux, and supposedly on other platforms but was not tested. In order to use bk.py you will need a Python interpreter. It's better to have Python-2.6 and newer for bk.py because Python-2.5 tarfile module is somewhat buggy. You can download it here. Open your terminal and enter the path to bk.py executable. If you are a Windows user, go Start --> Run --> enter CMD in the box --> and press OK. When the DOS prompt pops up, change the directory to the one where bk.py file is located and hit Enter. Alternatively, you can double click on bk.py file. But if you make a mistake in the paths you put into the lists, you won't see an error in this case. It will be better to test it from CMD, and when everything is set up and fine, double clicking can be a usual routine. The files being compressed will be printed on the screen, and finally it will say "Everything OK".
Open your bk.py file and find section SETTINGS at the top. You need to put paths into the lists:
| Recursive
= ['narnia'] |
#
Recursive backing up |
| non_Recursive
= ['.','..'] Destination = ['test/1','test/2'] |
#
Non-recursive backing up # The folder(s) to put the backups to. |
The form for the paths is:
'path
1','path 2', ... 'path n', as many paths as you want. Use my psearch.py tool to copy and paste in
order to avoid accidental misspelling.
Recursive means the folder will be archived recursively together with all the sub- and sub-sub- folders and all the files containing in all the sub-folders of all the sub-folders.
non_Recursive means only the content of the given folder will be archived. That will be all the files, and the names of subfolders. Subfolders will be empty.
Recursive and non_Recursive can be empty (only square brackets with nothing inside), but not all at the same time. bk.py won't run, if the input is completely empty, since there won't be anything to archive.
Destination is the list of folders where you want your archive to be created. It can be more than one folder; in fact, as many as you wish. In the case of multiple destination folders your archive won't be just a copy of a previously created one. It will be a separate archive created anew for each of the destination folders. If you don't like this idea, you can use only one folder for destination. The destination folders should exist before running bk.py.
Some guys may ask: "I am not running any servers and I don't need any complicated configuration backup solutions that only geeks can understand how to use, but as a regular user what exactly can I backup with your bk.py?" Well, I will answer what I always say to my wife: "It should be your documents, your emails and your bookmarks". Your documents are chiefly located in My Documents, your emails - well, use my psearch.py to find the Outlook folder. As for bookmarks, it's better to keep them on-line on something like Delicious.
You will have to specify what kind of archive you want bk.py to create. It can be tar, gz or bz2. Just uncomment the one you wish and make sure that others are commented. Tar is pretty fast, it doesn't do any compression at all. I always use tar for myself. Bz is a little bit longer. Bz2 is pretty long on my opinion. I never have any patience to wait for bz2 to terminate.
Use 7-zip to browse and unpack archives you created.
bk.py is not freeware, it is a fully functional shareware. It costs $1. If you tried bk.py and found it useful and want to keep it, click on the PayPal button to express your appreciation to the author who created such a wonderful piece of software. You are free to modify the code to adjust it to your personal tastes, but I mind if your modification will be used for commercial purposes later on.
As a bonus: absolutely freeware compression tool comt.py.
Sometimes it's useful to backup something just in case, especially when you are writing very important documents like a web-site which you wouldn't like to have lost. If you don't have any patience like me to wait for your monstrous archiver to load itself, this tool is right for you. Double click on comt.py and it will pop up in no time. It asks a single question: "What to archive?". Tell it.