Could you expand on what bits of a Canvas course you want to backup?
Automating actions in Canvas can be done through the Canvas API and if the content that you are after is that which is included in a course export then having a service perform regular exports of a course and storing them somewhere outside Canvas is perfectly doable.
If the things that you want to backup are outside a course export then it becomes much more tricky and you would need to use other parts of the Canvas API to request the content and store it somewhere, then if you wanted to restore things you would need to also support the addition of those stored items into Canvas.