[comp.os.minix] Shell script for calling backup

ast@cs.vu.nl (Andy Tanenbaum) (10/09/89)

Concerning the discussion about backup, maybe it isn't clear how I meant
this program to be used.  I have a shell script, below that does my backup.
When I have been hacking the kernel, I put disk 1 in the driver and type:

save 1

The shell script then backs up all those files that need backing up.  By
using the current time, I can later see when the backup was made, but with
the -t flag, you can do it the other way.  As you can see, the -m flag
really isn't used so much, since I have split the various items onto
different 1.2M diskettes.  With 360K diskettes, the problem is more serious.

To back up the entire minix tree, I type:

save 1 2 3 4 5 6 7

The nice thing about this way of working is that the backups are in normal
file system format.  You can mount them, inspect them, copy individual
files etc, something that is much harder with tar.  If you tar the entire
hard disk to a set of diskettes, retrieving one file at the end is more
work.

In my experience, the real value of backup is not recovering from complete
crashes (which I have never had), but to retrieve individual files that
have gotten munged (usually by me).

Andy Tanenbaum

---------------------------------- cut here ----------------------------
m=/minix
u=/usr
for i 
do
  case $i in
	1)	getlf "Please insert kernel disk (1)"
		/etc/mount /dev/at0 /f0
		backup -jmsvz $m/h         /f0/h
		backup -jmsvz $m/kernel    /f0/kernel
		backup -jmsvz $m/fs        /f0/fs
		backup -jmsvz $m/mm        /f0/mm
		backup -jmsvz  $u/include	 /f0/include
		/etc/umount /dev/at0
		df /dev/at0
		;;

	2)	getlf "Please insert tools disk (2)"
		/etc/mount /dev/at0 /f0
		backup -jmvz $m/tools     /f0/tools
		backup -jmvz $m/lib       /f0/lib
		backup -jmsvz $m/doc       /f0/doc
		backup -jmsvz $u/man       /f0/man
		/etc/umount /dev/at0
		df /dev/at0
		;;

	3)	getlf "Please insert commands.c disk (3)"
		/etc/mount /dev/at0 /f0
		backup -jmnsvz $m/commands /f0/commands
		/etc/umount /dev/at0
		df /dev/at0
		;;

	4)	getlf "Please insert commands/dirs disk (4)"
		/etc/mount /dev/at0 /f0
		backup -jmsvz $m/commands/basic /f0/commands/basic
		backup -jmsvz $m/commands/bawk /f0/commands/bawk
		backup -jmsvz $m/commands/de /f0/commands/de
		backup -jmsvz $m/commands/dis88 /f0/commands/dis88
		backup -jmsvz $m/commands/elle /f0/commands/elle
		backup -jmsvz $m/commands/ic /f0/commands/ic
		backup -jmsvz $m/commands/indent /f0/commands/indent
		backup -jmsvz $m/commands/kermit /f0/commands/kermit
		/etc/umount /dev/at0
		df /dev/at0
		;;

	5)	getlf "Please insert commands/dirs disk (5)"
		/etc/mount /dev/at0 /f0
		backup -jmsvz $m/commands/m4 /f0/commands/m4
		backup -jmsvz $m/commands/make /f0/commands/make
		backup -jmsvz $m/commands/mined /f0/commands/mined
		backup -jmsvz $m/commands/nro /f0/commands/nro
		backup -jmsvz $m/commands/patch /f0/commands/patch
		backup -jmsvz $m/commands/sh /f0/commands/sh
		backup -jmsvz $m/commands/stevie /f0/commands/stevie
		backup -jmsvz $m/commands/zmodem /f0/commands/zmodem
		/etc/umount /dev/at0
		df /dev/at0
		;;


	6)	getlf "Please insert /bin disk (6)"
		/etc/mount /dev/at0 /f0
		backup -jmsv  $u/bin       /f0/bin
		/etc/umount /dev/at0
		df /dev/at0
		;;

	7)	getlf "Please insert /bin disk (7)"
		/etc/mount /dev/at0 /f0
		backup -jmvz  $u/lib       /f0/lib
		backup -jmsvz  $u/etc       /f0/etc
		/etc/umount /dev/at0
		df /dev/at0
		;;

	*)	echo What to save?  h kernel fs mm tools comm bin lib ;;
  esac
done
----------------------------------------- cut here --------------------