Unix/Linux Software Tips and Tricks
|How to backup and restore across a network|
|How to recover data from damaged discs|
|Printing 2-up the right way|
If you don't have enough space to store a backup on the local machine, here's a handy tip for creating a low-level backup of a hard disk across a network. For the example, you have a machine whose root hard disk partition /dev/hda1 needs a backup. The computer to be backed up will be booted with Mulinux or Knoppix and the network address set to 192.168.1.1. The computer to hold the backup will be at 192.168.1.2.
mulinux (floppy-boot GNU/Linux):
Get and install mulinux using the directions on the site (both the WWW site and the FTP), create the root and boot mulinux disks, and the SRV add-on disk.
Knoppix (CD-boot GNU/Linux):
Get an ISO image from Knoppix.org. Burn the ISO image to a CD. Power off your computer. Change the BIOS settings to boot from CD. Boot from CD.
- Boot laptop using mulinux or Knoppix
- Get ethernet connection working (ifconfig, route)
- On computer to hold the backup:
$ nc -lp 6666 | bzip2 | dd of=partition.bz2
- On computer to back up:
$ dd if=/dev/hda1 | nc 192.168.1.2 6666
- When finished, press Ctrl-C on laptop and desktop
To restore across a network:
- Repeat steps 1 and 2 from backup instructions
- On machine that needs to be restored to:
$ nc -lp 6666 | dd of=/dev/hda1
- On machine that has the backup image:
$ cat partition.bz2 | bzip2 -d | nc 192.168.1.1 6666
The ddrescue utility is like the dd utility except that it works well even when reading from a damaged source. See here for a more detailed description, and for a rundown on the confusing difference between the "dd_rescue" program and the "ddrescue" program (hint: use GNU ddrescue).
Most 2-up printing utilities simply take the pages exactly as they are, and try to fit them two to a page. This looks terrible, because the margins for a 1-up page are much larger as a fraction of the page than needed for a 2-up page. The only utility I have seen that readjusts the margins is the impose+ package (requires Perl). See the page for an example of the difference between their 2-up pages and normal 2-up pages produced by "psnup -2" (and every other 2-up utility I have tried).