| 88plug

My Favorite Backup Method DD BZIP SSH Script

By | Featured, Sample Work | No Comments

Backup today can be a PITA.  It takes too long, and too much work to automate.  That’s what makes this single line backup script one of my favorites. It creates a compressed DD image a remote server in the form of a BZ2 archive. This command is run locally from the machine you want to backup.

Let’s begin:
First, create your file
nano xf

Inside xf, paste the following:

dd if=/dev/vda1 of=/dev/stdout bs=1M | bzip2 | ssh root@myhost.com "cat - > /home/backups/Live.img.bz2"

Let’s break this down, so you can create your own command!

First, start by doing a df -a to determine the name of your disk, replacing /dev/vda1 with the disk you want to backup.

Second, change root@myhost.com to your remote server. For best practices you should exchange SSH keys so there is no password prompt. See this tutorial here to exchange keys.

Finally, change /home/backups/Live.img.bz2 to the destination directory and filename you would like on the remote server.

Run the script in a shell to test, and finally automate.

Be sure to make your script executable by running chmod +x after creation. To run in the background, install apt-get install nohup. This will allow you to start your backup script in the background, allowing it plenty of time to execute. nohup ./scriptname & will run the script as a daemon.