What is a good way to back up (and possibly sync) your development machine?

I widely use the source of control for everything related to the project I'm working on (source, documents, etc.), and I never lost anything that way.

However, I had two or three crashes (spread over the past 4 years) on my development machine, which forced me to reinstall my system and reconfigure my applications (eclipse, vim, Firefox, etc.). A few weeks after the reinstallation, I did not have a single small application, there was no PHP or Python module, like this.

While this is not fatal, it is very annoying and sucks in time. Since it seemed so rare, I did not worry about a real solution, but meanwhile I developed a mindset where I simply do not want this to happen anymore.

So what are some good backup solutions for a development machine? I read this very similar question , but this guy really wants something different than me.

I want to have spare hard drives on the shelf and reduce the recovery time after a failure by about an hour or less.

After thinking about this, I thought that there might also be a way to use the backup mechanism to synchronize two or more dev workstations, so I can continue to work on another PC at any time.


EDIT : I should have mentioned that

  • I am running Linux
  • I want an incremental backup, so it's cheap to do this often (once or twice a day).

RAID is good, but I am on the laptop most of the time, there is no second hd there, no E-SATA, and I'm not sure about RAIDing to a USB drive: does it really work?

I saw system administrators use rsync, has anyone had experience with this?

+4
source share
11 answers

I would set up the car as you like, and then its image. You can then configure rsync (or even SVN) to back up your homedir at night / etc.

Then, when your computer dies, you can rename and then relocate the home directory. The only problem is updating / new software, but the only way to completely deal with this would be a full night backup of your drives.


Thanks, that sounds good. I think it is also possible to regularly update the image (receive updates / software installations), but maybe not so often. E. g. I could upload the image to a virtual machine and do a global package update or something like that.

Hanno

+3
source

You can create an image of your workstation after you have installed and configured everything. Then, when the computer crashes, you can simply restore the image.

A (big) drawback of this is that you will not have any updates or changes made since the image was created.

+3
source

Cobian Backup is a reliable backup system for Windows that will perform scheduled backups to an external drive.

+1
source

You can create a hard disk image. Restoring from a backup restores everything before it was at the time you took the image. Or you can create an installer that installs almost everything you need.

+1
source

Since you showed interest in rsync, here's an article about creating a bootable backup image through rsync for Debian Linux:

http://www.debian-administration.org/articles/575

Rsync is fast and easy for local and network synchronization and is incremental in nature.

+1
source

You can use RAID-1 for this. Its type of synchronization, not the type of backup.

0
source

I use RAID mirroring in combination with an external hard drive using the Vista backup utility to back up the entire machine. Thus, I can easily fix the hard disk error, but in case of damage to my system, I can recover from the E-SATA drive (which I only connect for backup).

Full disclosure: I never had to restore a backup, so it looks like an airbag in your car; I hope it works when you need it, but there is no way to be sure. In addition, the backup process is manual (it can be automated), so I am as safe as the last backup.

0
source

You can use the linux command line utility β€œdd” to clone a hard drive. Just boot from the Linux CD, clone or repair the disk and reboot. It is great for Windows / Mac drives.

This will clone partition 1 of the first hard drive (/ dev / sda) to partition 1 of the second hard drive (/ dev / sdb)

dd if=/dev/sda1 of=/dev/sdb1 

This will clone partition 1 of the first hard disk to FILE on the second disk.

 dd if=/dev/sda1 of=/media/drive2/backup/2009-02-25.iso 

Just replace the values ​​for if = and = to restore the disk.

If you boot from the Ubuntu live CD, it will automate your USB drives, making it easier to back up / restore using external drives.

CAUTION: Verify the identity of your disks BEFORE executing the above commands. It is easy to overwrite the wrong disc if you are not careful.

0
source

Guess that this is not exactly what you are looking for, but I am just documenting everything that I install and configure on the machine. Google Docs allows me to do this from anywhere and keeps the document intact when the machine crashes.

A good step-by-step document usually reduces recovery time to one day or so

0
source

If you are using a Mac, simply plug in an external hard drive, and Time Machine does the rest, creating a complete image of your computer in the schedule you set. I restored the Time Machine image when I changed the hard drive on my MacBook Pro, and it worked like a charm.

Another option that several guys use in my company is to create a development environment on a large Linux server. They simply use their local computers to start the NX client to access the remote desktop (NX is much faster than VNC) - this has the advantages of fast performance, automatic backup of their files on the server and the fact that they are developed on the same hardware. which is used by our customers.

0
source

No matter which solution you use, it is always helpful to have a secondary backup. Secondary backup should be off site and include your main work (source code, important documents). In the event that something happens to your main site (a fire in the office, someone breaks and steals all your equipment, etc.), you can still recover, in the end.

There are many online backup solutions. You can simply get remote storage from a trusted vendor (such as Amazon S3) and sync your work daily. The decision depends on the type of access you can get, but rsync is probably the tool you would use for this.

0
source

All Articles