Order VPS Hosting
Order a VPS, Semi- dedicated or Dedicated server in Dallas, London or Australia.

Get Assistance
Ask our support team about your hosting requirements.


Host where the staff takes pride in making customers happy

I just wanted to stop and thank you for the BEST service I have ever received from any hosting service. You try harder and it shows!

- Corey (he submitted a ticket just to tell us this) (#201/298)
Home > Support > HOWTO List > Linux > RSync

Working with Linux howtos

Backups with RSync

RSync is a useful tool.  It facilitates directory replication across servers.   It will compare a source directory and a target directory and 'sync' them up.   It is implemented to run quickly and to use minimal bandwidth. 

The syntax goes something like this:


EXCLUDE=" --exclude *.tmp \
--exclude *.temp"

rsync --archive -vv --rsh=ssh $EXCLUDE $USER@$HOST:/etc/ $BACKUPPATH/$HOST/etc

This code will 'pull' a backup from a remote host (source) to the local machine (destination).   It will use SSH (-e ssh) so the remote machine does not have to be running an rsync daemon.  It will be very verbose (-vv).  It will ignore any files ending in tmp or temp.  Swap the last two args to 'push' a backup from the local machine to the remote machine. 

An example: rsync --archive -vv --rsh=ssh datadir yourbackupserver:/home/backups/

'Man' tells us that the '-archive' option is the same as '-rlptgoD' or:

  • -r recursive
  • --links (recreate sym)
  • --perms
  • --owner destination owner = source owner
  • --group ditto group
  • --devices transfer char and block devices
  • --times transfer modification times

There are many other options available.  e.g. --delete will delete any files on the receiving side that aren't on the sending side.  You'll probably want to tack on a --compress option for compression; and a --sparse option to efficiently handle sparse files and --stats --progress to show you something interesting while a big job runs.  --ignore-existing will leave existing files as is.

Idea: Put the rsync command in your crontab to perform regular backups. 

Idea: Keep multiple 'generations' of your site by using different destination directories (e.g. backups1, backups2).  If space is an issue, cycle through the directories every so many days or months.

Idea: Use 'ssh authorized keys' so backups can be performed via SSH without password prompting.  E.g. see: automated rsync backup howto.

Idea: Back up your PC to your Linux server.  Get an offsite backup of your Windows PC.  Grab the rsync application by doing a http://www.cygwin.com install.  Then 'push' a backup to your Linux VPS.

Hosting

Why RimuHosting

RimuHosting