Opened 7 years ago

Last modified 2 years ago

#22 new enhancement

Improve backup / restore tools

Reported by: yomguy Owned by: yomguy
Priority: major Milestone: 1.5
Component: Backup Version:
Keywords: backup Cc:


Telemeta needs a strong backup api to archive WAV data, metadata (XML) and SQL data.

The program called by a cron job should first make a backup on local hard disk drives, test a safe dry restore and then synchronize it with an external server (rsync+ssh). Some informations of the last backup should be displayed on a web page in the admin.

Change History (9)

comment:1 Changed 7 years ago by olivier

  • Status changed from new to assigned

I've made a simple backup layer (r109). There is now a functional command line tool: bin/telemeta-backup

telemeta-backup /path/to/django/project /path/to/backup

It's simple, there's not much error handling, but Python exceptions are rather clear anyway. I'll try to consolidate this a bit though.

This implementation is 100% Python (including the md5 routine), for maximum portability. It doesn't use any external binaries, etc...

It is meant for demonstration purpose only, I won't implement the restore feature (dry or not) for milestone:"Version 0.3".

I'll see what I can do for the backup web interface, but I'm afraid I won't have the time.

Regarding the rsync calls from within the Python code, I think this is bad design, too monolithic. IMO such call should happen outside of the application scope. It is more relevant to system administration.

For example: a system administrator will have a hard time debugging rsync transfers if they are obscurely performed by Telemeta. But it will be much easier for him to understand that telemeta-backup builds the backup in a directory, and that he is responsible for transfering it online, burn it to a tape, whatever, etc...

rsync/cdrecord/tar/whatever just aren't in Telemeta's scope too me.

comment:2 Changed 7 years ago by olivier

  • Milestone Version 0.3 deleted

enough for 0.3

comment:3 Changed 5 years ago by yomguy

  • Milestone set to 1.0

Serializing features driven from django tools are working since 0.3. But future developments will be needed to import / export data in various formats.

comment:4 Changed 5 years ago by yomguy

  • Component changed from Miscellaneous to Backup

comment:5 Changed 5 years ago by anonymous

  • Type changed from defect to task

comment:6 Changed 5 years ago by yomguy

  • Summary changed from Create backup tools to Improve backup tools

comment:7 Changed 2 years ago by yomguy

  • Milestone changed from 1.0 to 1.5
  • Summary changed from Improve backup tools to Improve backup / restore tools

comment:8 Changed 2 years ago by yomguy

  • Owner changed from olivier to yomguy
  • Status changed from assigned to new

comment:9 Changed 2 years ago by yomguy

  • Type changed from task to enhancement
Note: See TracTickets for help on using tickets.