Answer:
You can't call a function unless you've already defined it. Move the def createDirs(): block up to the top of your file, below the imports.
Explanation:
Some languages allow you to use functions before defining them. For example, javascript calls this "hoisting". But Python is not one of those languages.
It really depends on your type of data, if it's sensitive data or not. And it also depends on what type of backup (Incremental, Decremental, etc.). But you should aim to backup at least once a week, and also do a backup of your original backup.
There is differen prices depending on the race go to the k1 website to see the packages