Backup Strategies and Best Practices

From DevSummit
Jump to: navigation, search

Back up Strategies & Best Practices

Identifying a reason why you or your organization wants to backup and also make sure you're not giving away your data is important – a lot of security motivation in NSA news recently

  • many groups are not motivated to think about back-ups or security in general
  • would rather have someone do it for them
  • often motivated by a known threat

First step is to figure out What Data you have & where it lives

  • create an inventory of where you have data and where it is stored
  • something like an Online Accounts Inventory

For Data that you want to keep – what options seem reasonable?

What are safe strategies – different kinds of data have different characteristics

different characteristics of the data means that you may think about how it is backed up in different ways

  • if data set only grows
    • raw video archive
  • if data set changes
    • a database of contacts
    • snapshots of the changes


  • video
    • multiple pieces of physical media
    • different physical locations
    • hard drives (cheap drives)
    • Rsync – command line tool to backup changes
  • need to establish process around consistently backing-up
  • make it easy for the people to back-up, like a button
  • online database

Questions to ask:

  • Is the data that you want to back up all in 1 places?
  • How does the backup work?

Complete the Back-up Process - can you restore from the back up - can you test that the back-up in functional - if you use external hard drives, how to

S.M.A.R.T. Mon (monitor) Tools - smartmontools - can ask the hard drive to tell you things like temperature, when the last read error was, let me know when the disk is going to fail

  • git (revision control)

Databases

  • 2 common ones
    • mySQL
    • PostGres – postgresql.org

Incremental Backups

  • Rdiff
  • Differential
  • it is really important that you understand how the backup that you are running is working, is it sync, mirrored, iterative, just tracking changes... etc

Restoring

  • database backups
    • have a machine not on internet
    • recreate database & then push the backup to it and see if it works
    • you could also run tests to see if it works

Tools that do autobackup testing -

  • test your restores
  • you tell them the kind of thing that you think you are backing up

Everything time you bring in someone new, make sure they can restore from a back – test that someone could do it (tests if it is possible & likely)

For developers – understanding the functional dependencies that the code relys on

Backing up Social Media – what is necessary to backup?