rsync backup scripts
Latest commit 45ab11e Nov 26, 2016 @yhager committed on GitHub Merge pull request #2 from tkermode/tkermode-patch-2
Add 'Edit' comment to 'Encryption' section.


yhager's rsync based backup scripts

  yet another backup script suite, that does exactly what I want.

  * automatic
  * offsite(online)
  * bandwidth and space efficient
  * incremental

  Some more detailed list of the features:

  * use rsync snapshots with hardlinks[1] - a no frills working backup solution:
  * allows going back in time for as long as you want
  * uses the minimal amount of storage space required
  * clear up old backups easily by deleting a directory
  * can retry the backup if the network failed during the process
  * use crontab to control backup initiation
  * simple, simple, simple

  The script more or less implements the method outlined by's
  support team[2]  


  # most of the steps require root privilege

  # copy this entire directory onto /usr/local/backup
  cp -a . /usr/local/backup  
  cd /usr/local/backup 

  # edit the file conf.d/backup to match your settings
  vi conf.d/backup

  # copy the file to /etc/conf.d
  mkdir /etc/conf.d
  cp conf.d/backup /etc/conf.d/

  # edit the rules file to match your setup
  vi conf.d/rsync-rules

  # copy to /etc/backup
  mkdir /etc/backup
  cp conf.d/rsync-rules /etc/backup/.

  # create a directory for mysql backups
  mkdir -p /var/backups/mysql

  # Add the crontab to your existing crontab
  crontab -l > /tmp/crontab && cat /tmp/crontab crontab | crontab - && rm /tmp/crontab
  # or if your crontab is currently empty, simply
  crontab crontab


  I do not encrypt my backups. I am getting too nervous about losing
  the private key (where would I keep it? in a USB storage? in a bank?
  printed and kept at a friend's house? - I was never able to solve
  that question), so I decided that encryption might give me more
  headache than benefit.
  Edit: The above paragraph made sense at the time I wrote it; I now
  strongly recommend that you incorporate some encryption routine into
  your backups, especially when using any external provider.

Other options:

  I used rdiff-backup[3] for a while and it is generally very good,
  however, it has it's own format of backup files, and it is very
  dependent on completing a full run everytime, and failures are disastrous.
  At one time, the command '--list-increments-sizes' could never be
  completed, and this convinced me I am looking for something less fancy.  

  In addition, removing a huge directory that snuck in by mistake is
  nearly impossible, and you are stuck with it until it is phased out
  as old.

  There are quite a lot of other options, like rsnapshot[4] or
  duplicity[5]. They are all good - choose whatever fits your needs.


Backup providers:

  All you need is ssh access and rsync to be installed at the remote
  side. This is very common, and I doubt if you will find a backup
  provider that does not give you these.

  I use[6], which are very friendly, and give great value
  for the money. However, use any service that rsync works with (I
  believe Amazon s3 is not on this list).


Suggestions, Questions:

  send me an email (see LICENSE file), or use github.