sjohn@cory.Berkeley.EDU (John Sasinowski) (09/01/89)
I am looking for a way to do incremental backups on my 3b1. I initially thought that the Partial Backup option on the Disk Backup submenu of Administration in the ua did this, but the online help states that it backs up everything since that last complete backup. I want to do incremental backups because I have a 67Mb hard disk and I KNOW that I won't stay up to date if each backup takes close to 100 disks! Any suggestions on how to do incremental backups or alternate methods of backing up the hard disk would be greatly appreciated. Thank you. John Sasinowski sjohn@cory.berkeley.edu
mvadh@cbnews.ATT.COM (andrew.d.hay) (09/01/89)
In article <16730@pasteur.Berkeley.EDU> sjohn@cory.Berkeley.EDU (John Sasinowski) writes:
"
" I am looking for a way to do incremental backups on my 3b1.
"I initially thought that the Partial Backup option on the Disk Backup
"submenu of Administration in the ua did this, but the online help states
"that it backs up everything since that last complete backup.
" I want to do incremental backups because I have a 67Mb hard disk
"and I KNOW that I won't stay up to date if each backup takes close to
"100 disks!
" Any suggestions on how to do incremental backups or alternate
"methods of backing up the hard disk would be greatly appreciated.
" Thank you.
"
"
" John Sasinowski
" sjohn@cory.berkeley.edu
read up on find(1) and cpio(1).
you will want something like:
find / -newer [date-spec] -print | cpio -Boacv > /dev/rfp020
^^^^^^ ^^^^^^^^^^^
all options on |
the raw floppy
--
Andrew Hay +------------------------------------------------------+
Null Fu-Tze | LEARN HOW TO AVOID RIPOFFS! |
AT&T-BL Ward Hill MA | SEND $5... |
a.d.hay@att.com +------------------------------------------------------+
les@chinet.chi.il.us (Leslie Mikesell) (09/03/89)
In article <9316@cbnews.ATT.COM> mvadh@cbnews.ATT.COM (andrew.d.hay,54242,wi,1d007,508 374 5484) writes: >" I am looking for a way to do incremental backups on my 3b1. >read up on find(1) and cpio(1). >you will want something like: >find / -newer [date-spec] -print | cpio -Boacv > /dev/rfp020 > ^^^^^^ ^^^^^^^^^^^ > all options on | > the raw floppy Not quite - the "newer" option should be followed by a filename and all files whose modification times are newer than the specified file are selected. Normally you would "touch" a file at the beginning of a backup, then "mv" it to the correct after the backup is complete. However, you should be aware that this method will not find files that have been moved or renamed instead of modified, or files that have had their modification times intentionally set earlier (as would happen if you use cpio -ivmd to load files that were stored earlier or created on another machine keeping their actual timestamps). Using find / -ctime -days will get all the files whose inodes have been modified in the last "days" which will catch all modifications, but you need to keep track of the days since the last backup. Also, using the -a flag to cpio (reset the access time so it appears the file hasn't been read) will cause an inode modification and make a ctime-based find select the same files again the next time. Les Mikesell
jdc@naucse.UUCP (John Campbell) (09/08/89)
In article <16730@pasteur.Berkeley.EDU>, sjohn@cory.Berkeley.EDU (John Sasinowski) writes: > > I am looking for a way to do incremental backups on my 3b1. > I initially thought that the Partial Backup option on the Disk Backup > submenu of Administration in the ua did this, but the online help states > that it backs up everything since that last complete backup. > I want to do incremental backups because I have a 67Mb hard disk > and I KNOW that I won't stay up to date if each backup takes close to > 100 disks! > Any suggestions on how to do incremental backups or alternate > methods of backing up the hard disk would be greatly appreciated. > Thank you. > > > John Sasinowski > sjohn@cory.berkeley.edu I found I did not like backing up a system that required one huge cpio save set of over 100 floppies (67 Mb disk) either. To alleviate this problem, I broke the task into 5 groups (group1 ... group5). Immediately this helped, especially since I could selectively remove some of the files from the backup list (/usr/catman for instance). Further I recorded the date that each group was backed up in order to do a Level 1 (all files since Level 0) and even a Level 2 backup. Finally I wrote a command called backup that can take an argument like "group1". Hence to initiate a L0 group1 backup I su to root, move to the L0 directory and say "./backup group1". I don't try to backup the foundation set since I would intend to load that set from the originals (or my copy of the originals). I do, however, back up everything else newer than the /etc/.installdate if I'm doing a Level 0 backup. I try to make sure that the backup shell program is only readable by root to avoid starting a backup as a non-privileged user. Another trick I often use is to say "sh group1 | cpiosize" to find out how many floppies my backup will require. I know there was a comment recently about using -newer (with find) to control backups, if anyone wants to comment on the safety of my approach fire away! Also, I expect no one will be so fool hardy to use my group files without tuning them to their own system--especially the exclusion lists. Now, for a MAJOR admission/disclaimer! I HAVE NOT USED ANY OF MY CPIO SETS TO RESTORE MY HARD DISK! Look at everything here *very* critically before choosing to use it. Post any problems you think you see--I've hesitated to even mention my scheme except others have asked for it *and* I might like to hear of any holes in it :-). ---cut here for my backup system---- #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file". e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive." # Contents: ./L1/group1 ./L1/group1.L1 ./L1/group1.sed ./L1/group2 # ./L1/group2.L1 ./L1/group2.sed ./L1/group3 ./L1/group3.L1 # ./L1/group3.sed ./L1/group4 ./L1/group4.L1 ./L1/group4.sed # ./L1/group5 ./L1/group5.L1 ./L1/group5.sed ./L1/backup # ./L2/backup ./L2/group1 ./L2/group2.L2 ./L2/group1.sed # ./L2/group2 ./L2/group3.2 ./L2/group2.sed ./L2/group3 # ./L2/group1.L2 ./L2/group3.sed ./L2/group4 ./L2/group4.2 # ./L2/group4.sed ./L2/group5 ./L2/group5.2 ./L2/group5.sed # ./L0/group1 ./L0/group1.L0 ./L0/group1.sed ./L0/group2 # ./L0/group2.L0 ./L0/group2.sed ./L0/group3 ./L0/group3.L0 # ./L0/group3.sed ./L0/group4 ./L0/group4.L0 ./L0/group4.sed # ./L0/group5 ./L0/group5.L0 ./L0/group5.sed ./L0/000read.me # ./L0/backup # Wrapped by root@thunde on Thu Sep 7 20:38:44 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if `test ! -d .` then mkdir . echo "mkdir ." fi if `test ! -d ./L1` then mkdir ./L1 echo "mkdir ./L1" fi if test -f ./L1/group1 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group1\" else echo shar: Extracting \"./L1/group1\" \(76 characters\) sed "s/^X//" >./L1/group1 <<'END_OF_group1' # Group1 X# Xfind /u -newer ../L0/group1.L0 -depth -print |sed -f group1.sed END_OF_group1 chmod 744 ./L1/group1 if test 76 -ne `wc -c < ./L1/group1`; then echo shar: \"./L1/group1\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group1.L1 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group1.L1\" else echo shar: Extracting \"./L1/group1.L1\" \(29 characters\) sed "s/^X//" >./L1/group1.L1 <<'END_OF_group1.L1' Tue Aug 29 19:09:52 MST 1989 END_OF_group1.L1 chmod 644 ./L1/group1.L1 if test 29 -ne `wc -c < ./L1/group1.L1`; then echo shar: \"./L1/group1.L1\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group1.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group1.sed\" else echo shar: Extracting \"./L1/group1.sed\" \(135 characters\) sed "s/^X//" >./L1/group1.sed <<'END_OF_group1.sed' /jdc\/.*\readj/d X/jdc\/.*\writej/d X/jdc\/.*\/Int/d X/jdc\/.*\/Readj/d X/jdc\/.*\/Readj/d X/u\/jdc\/Xfer\/Month/d X/u\/jdc\/Xfer\/Gnuplot/d END_OF_group1.sed chmod 644 ./L1/group1.sed if test 135 -ne `wc -c < ./L1/group1.sed`; then echo shar: \"./L1/group1.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group2 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group2\" else echo shar: Extracting \"./L1/group2\" \(84 characters\) sed "s/^X//" >./L1/group2 <<'END_OF_group2' # Group2 X# Xfind /usr/local -newer ../L0/group2.L0 -depth -print |sed -f group2.sed END_OF_group2 chmod 744 ./L1/group2 if test 84 -ne `wc -c < ./L1/group2`; then echo shar: \"./L1/group2\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group2.L1 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group2.L1\" else echo shar: Extracting \"./L1/group2.L1\" \(29 characters\) sed "s/^X//" >./L1/group2.L1 <<'END_OF_group2.L1' Tue Aug 29 19:13:22 MST 1989 END_OF_group2.L1 chmod 644 ./L1/group2.L1 if test 29 -ne `wc -c < ./L1/group2.L1`; then echo shar: \"./L1/group2.L1\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group2.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group2.sed\" else echo shar: Extracting \"./L1/group2.sed\" \(25 characters\) sed "s/^X//" >./L1/group2.sed <<'END_OF_group2.sed' /src\/ctex/d X/lib\/tex/d END_OF_group2.sed chmod 644 ./L1/group2.sed if test 25 -ne `wc -c < ./L1/group2.sed`; then echo shar: \"./L1/group2.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group3 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group3\" else echo shar: Extracting \"./L1/group3\" \(91 characters\) sed "s/^X//" >./L1/group3 <<'END_OF_group3' # Group3 X# Xfind /usr/bin /usr/lib -newer ../L0/group3.L0 -depth -print |sed -f group3.sed END_OF_group3 chmod 744 ./L1/group3 if test 91 -ne `wc -c < ./L1/group3`; then echo shar: \"./L1/group3\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group3.L1 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group3.L1\" else echo shar: Extracting \"./L1/group3.L1\" \(29 characters\) sed "s/^X//" >./L1/group3.L1 <<'END_OF_group3.L1' Tue Aug 29 19:18:10 MST 1989 END_OF_group3.L1 chmod 644 ./L1/group3.L1 if test 29 -ne `wc -c < ./L1/group3.L1`; then echo shar: \"./L1/group3.L1\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group3.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group3.sed\" else echo shar: Extracting \"./L1/group3.sed\" \(32 characters\) sed "s/^X//" >./L1/group3.sed <<'END_OF_group3.sed' /^.* *\/usr\/bin\/DOS\/dvd000/d END_OF_group3.sed chmod 644 ./L1/group3.sed if test 32 -ne `wc -c < ./L1/group3.sed`; then echo shar: \"./L1/group3.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group4 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group4\" else echo shar: Extracting \"./L1/group4\" \(78 characters\) sed "s/^X//" >./L1/group4 <<'END_OF_group4' # Group4 X# Xfind /usr -newer ../L0/group4.L0 -depth -print |sed -f group4.sed END_OF_group4 chmod 744 ./L1/group4 if test 78 -ne `wc -c < ./L1/group4`; then echo shar: \"./L1/group4\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group4.L1 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group4.L1\" else echo shar: Extracting \"./L1/group4.L1\" \(29 characters\) sed "s/^X//" >./L1/group4.L1 <<'END_OF_group4.L1' Tue Aug 29 19:20:42 MST 1989 END_OF_group4.L1 chmod 644 ./L1/group4.L1 if test 29 -ne `wc -c < ./L1/group4.L1`; then echo shar: \"./L1/group4.L1\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group4.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group4.sed\" else echo shar: Extracting \"./L1/group4.sed\" \(102 characters\) sed "s/^X//" >./L1/group4.sed <<'END_OF_group4.sed' /^.* *\/usr\/catman/d X/^.* *\/usr\/bin/d X/^.* *\/usr\/lib/d X/^.* *\/usr\/spool/d X/^.* *\/usr\/local/d END_OF_group4.sed chmod 644 ./L1/group4.sed if test 102 -ne `wc -c < ./L1/group4.sed`; then echo shar: \"./L1/group4.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group5 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group5\" else echo shar: Extracting \"./L1/group5\" \(83 characters\) sed "s/^X//" >./L1/group5 <<'END_OF_group5' # Group5: /(rest) X# Xfind / -newer ../L0/group5.L0 -depth -print |sed -f group5.sed END_OF_group5 chmod 744 ./L1/group5 if test 83 -ne `wc -c < ./L1/group5`; then echo shar: \"./L1/group5\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group5.L1 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group5.L1\" else echo shar: Extracting \"./L1/group5.L1\" \(29 characters\) sed "s/^X//" >./L1/group5.L1 <<'END_OF_group5.L1' Tue Aug 29 19:28:07 MST 1989 END_OF_group5.L1 chmod 644 ./L1/group5.L1 if test 29 -ne `wc -c < ./L1/group5.L1`; then echo shar: \"./L1/group5.L1\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/group5.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/group5.sed\" else echo shar: Extracting \"./L1/group5.sed\" \(96 characters\) sed "s/^X//" >./L1/group5.sed <<'END_OF_group5.sed' /^\/usr\//d X/^\/u\//d X/^\/etc\/utmp/d X/^\/etc\/wtmp/d X/^\/etc\/drvtab/d X/^\/dev\//d X/^\/tmp\//d END_OF_group5.sed chmod 644 ./L1/group5.sed if test 96 -ne `wc -c < ./L1/group5.sed`; then echo shar: \"./L1/group5.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L1/backup -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L1/backup\" else echo shar: Extracting \"./L1/backup\" \(174 characters\) sed "s/^X//" >./L1/backup <<'END_OF_backup' # Backup Last Modified 19-Nov-88/jdc X# X# L0 backup--parameter is one of the 5 groups. X# X./$1 |cpio -ovB >/dev/rfp021 Xecho `date` >$1.L1 END_OF_backup chmod 700 ./L1/backup if test 174 -ne `wc -c < ./L1/backup`; then echo shar: \"./L1/backup\" unpacked with wrong size! fi # end of overwriting check fi if `test ! -d ./L2` then mkdir ./L2 echo "mkdir ./L2" fi if test -f ./L2/backup -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/backup\" else echo shar: Extracting \"./L2/backup\" \(172 characters\) sed "s/^X//" >./L2/backup <<'END_OF_backup' # Backup Last Modified 2-Feb-89/jdc X# X# L2 backup--parameter is one of the 5 groups. X# X./$1 |cpio -ovB >/dev/rfp021 Xecho `date` >$1.2 END_OF_backup chmod 700 ./L2/backup if test 172 -ne `wc -c < ./L2/backup`; then echo shar: \"./L2/backup\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group1 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group1\" else echo shar: Extracting \"./L2/group1\" \(76 characters\) sed "s/^X//" >./L2/group1 <<'END_OF_group1' # Group1 X# Xfind /u -newer ../L1/group1.L1 -depth -print |sed -f group1.sed END_OF_group1 chmod 744 ./L2/group1 if test 76 -ne `wc -c < ./L2/group1`; then echo shar: \"./L2/group1\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group2.L2 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group2.L2\" else echo shar: Extracting \"./L2/group2.L2\" \(28 characters\) sed "s/^X//" >./L2/group2.L2 <<'END_OF_group2.L2' Thu Feb 2 23:00:29 MST 1989 END_OF_group2.L2 chmod 644 ./L2/group2.L2 if test 28 -ne `wc -c < ./L2/group2.L2`; then echo shar: \"./L2/group2.L2\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group1.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group1.sed\" else echo shar: Extracting \"./L2/group1.sed\" \(135 characters\) sed "s/^X//" >./L2/group1.sed <<'END_OF_group1.sed' /jdc\/.*\readj/d X/jdc\/.*\writej/d X/jdc\/.*\/Int/d X/jdc\/.*\/Readj/d X/jdc\/.*\/Readj/d X/u\/jdc\/Xfer\/Month/d X/u\/jdc\/Xfer\/Gnuplot/d END_OF_group1.sed chmod 644 ./L2/group1.sed if test 135 -ne `wc -c < ./L2/group1.sed`; then echo shar: \"./L2/group1.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group2 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group2\" else echo shar: Extracting \"./L2/group2\" \(84 characters\) sed "s/^X//" >./L2/group2 <<'END_OF_group2' # Group2 X# Xfind /usr/local -newer ../L1/group2.L1 -depth -print |sed -f group2.sed END_OF_group2 chmod 744 ./L2/group2 if test 84 -ne `wc -c < ./L2/group2`; then echo shar: \"./L2/group2\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group3.2 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group3.2\" else echo shar: Extracting \"./L2/group3.2\" \(28 characters\) sed "s/^X//" >./L2/group3.2 <<'END_OF_group3.2' Thu Feb 2 23:04:16 MST 1989 END_OF_group3.2 chmod 644 ./L2/group3.2 if test 28 -ne `wc -c < ./L2/group3.2`; then echo shar: \"./L2/group3.2\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group2.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group2.sed\" else echo shar: Extracting \"./L2/group2.sed\" \(25 characters\) sed "s/^X//" >./L2/group2.sed <<'END_OF_group2.sed' /src\/ctex/d X/lib\/tex/d END_OF_group2.sed chmod 644 ./L2/group2.sed if test 25 -ne `wc -c < ./L2/group2.sed`; then echo shar: \"./L2/group2.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group3 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group3\" else echo shar: Extracting \"./L2/group3\" \(91 characters\) sed "s/^X//" >./L2/group3 <<'END_OF_group3' # Group3 X# Xfind /usr/bin /usr/lib -newer ../L1/group3.L1 -depth -print |sed -f group3.sed END_OF_group3 chmod 744 ./L2/group3 if test 91 -ne `wc -c < ./L2/group3`; then echo shar: \"./L2/group3\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group1.L2 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group1.L2\" else echo shar: Extracting \"./L2/group1.L2\" \(28 characters\) sed "s/^X//" >./L2/group1.L2 <<'END_OF_group1.L2' Thu Feb 2 22:58:23 MST 1989 END_OF_group1.L2 chmod 644 ./L2/group1.L2 if test 28 -ne `wc -c < ./L2/group1.L2`; then echo shar: \"./L2/group1.L2\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group3.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group3.sed\" else echo shar: Extracting \"./L2/group3.sed\" \(32 characters\) sed "s/^X//" >./L2/group3.sed <<'END_OF_group3.sed' /^.* *\/usr\/bin\/DOS\/dvd000/d END_OF_group3.sed chmod 644 ./L2/group3.sed if test 32 -ne `wc -c < ./L2/group3.sed`; then echo shar: \"./L2/group3.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group4 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group4\" else echo shar: Extracting \"./L2/group4\" \(78 characters\) sed "s/^X//" >./L2/group4 <<'END_OF_group4' # Group4 X# Xfind /usr -newer ../L1/group4.L1 -depth -print |sed -f group4.sed END_OF_group4 chmod 744 ./L2/group4 if test 78 -ne `wc -c < ./L2/group4`; then echo shar: \"./L2/group4\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group4.2 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group4.2\" else echo shar: Extracting \"./L2/group4.2\" \(28 characters\) sed "s/^X//" >./L2/group4.2 <<'END_OF_group4.2' Thu Feb 2 23:07:20 MST 1989 END_OF_group4.2 chmod 644 ./L2/group4.2 if test 28 -ne `wc -c < ./L2/group4.2`; then echo shar: \"./L2/group4.2\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group4.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group4.sed\" else echo shar: Extracting \"./L2/group4.sed\" \(102 characters\) sed "s/^X//" >./L2/group4.sed <<'END_OF_group4.sed' /^.* *\/usr\/catman/d X/^.* *\/usr\/bin/d X/^.* *\/usr\/lib/d X/^.* *\/usr\/spool/d X/^.* *\/usr\/local/d END_OF_group4.sed chmod 644 ./L2/group4.sed if test 102 -ne `wc -c < ./L2/group4.sed`; then echo shar: \"./L2/group4.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group5 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group5\" else echo shar: Extracting \"./L2/group5\" \(83 characters\) sed "s/^X//" >./L2/group5 <<'END_OF_group5' # Group5: /(rest) X# Xfind / -newer ../L1/group5.L1 -depth -print |sed -f group5.sed END_OF_group5 chmod 744 ./L2/group5 if test 83 -ne `wc -c < ./L2/group5`; then echo shar: \"./L2/group5\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group5.2 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group5.2\" else echo shar: Extracting \"./L2/group5.2\" \(28 characters\) sed "s/^X//" >./L2/group5.2 <<'END_OF_group5.2' Thu Feb 2 23:09:51 MST 1989 END_OF_group5.2 chmod 644 ./L2/group5.2 if test 28 -ne `wc -c < ./L2/group5.2`; then echo shar: \"./L2/group5.2\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L2/group5.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L2/group5.sed\" else echo shar: Extracting \"./L2/group5.sed\" \(96 characters\) sed "s/^X//" >./L2/group5.sed <<'END_OF_group5.sed' /^\/usr\//d X/^\/u\//d X/^\/etc\/utmp/d X/^\/etc\/wtmp/d X/^\/etc\/drvtab/d X/^\/dev\//d X/^\/tmp\//d END_OF_group5.sed chmod 644 ./L2/group5.sed if test 96 -ne `wc -c < ./L2/group5.sed`; then echo shar: \"./L2/group5.sed\" unpacked with wrong size! fi # end of overwriting check fi if `test ! -d ./L0` then mkdir ./L0 echo "mkdir ./L0" fi if test -f ./L0/group1 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group1\" else echo shar: Extracting \"./L0/group1\" \(78 characters\) sed "s/^X//" >./L0/group1 <<'END_OF_group1' # Group1 X# Xfind /u -newer /etc/.installdate -depth -print |sed -f group1.sed END_OF_group1 chmod 744 ./L0/group1 if test 78 -ne `wc -c < ./L0/group1`; then echo shar: \"./L0/group1\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group1.L0 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group1.L0\" else echo shar: Extracting \"./L0/group1.L0\" \(28 characters\) sed "s/^X//" >./L0/group1.L0 <<'END_OF_group1.L0' Mon Sep 4 14:58:08 MST 1989 END_OF_group1.L0 chmod 644 ./L0/group1.L0 if test 28 -ne `wc -c < ./L0/group1.L0`; then echo shar: \"./L0/group1.L0\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group1.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group1.sed\" else echo shar: Extracting \"./L0/group1.sed\" \(135 characters\) sed "s/^X//" >./L0/group1.sed <<'END_OF_group1.sed' /jdc\/.*\readj/d X/jdc\/.*\writej/d X/jdc\/.*\/Int/d X/jdc\/.*\/Readj/d X/jdc\/.*\/Readj/d X/u\/jdc\/Xfer\/Month/d X/u\/jdc\/Xfer\/Gnuplot/d END_OF_group1.sed chmod 644 ./L0/group1.sed if test 135 -ne `wc -c < ./L0/group1.sed`; then echo shar: \"./L0/group1.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group2 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group2\" else echo shar: Extracting \"./L0/group2\" \(61 characters\) sed "s/^X//" >./L0/group2 <<'END_OF_group2' # Group2 X# Xfind /usr/local -depth -print |sed -f group2.sed END_OF_group2 chmod 744 ./L0/group2 if test 61 -ne `wc -c < ./L0/group2`; then echo shar: \"./L0/group2\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group2.L0 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group2.L0\" else echo shar: Extracting \"./L0/group2.L0\" \(28 characters\) sed "s/^X//" >./L0/group2.L0 <<'END_OF_group2.L0' Mon Sep 4 15:19:01 MST 1989 END_OF_group2.L0 chmod 644 ./L0/group2.L0 if test 28 -ne `wc -c < ./L0/group2.L0`; then echo shar: \"./L0/group2.L0\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group2.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group2.sed\" else echo shar: Extracting \"./L0/group2.sed\" \(25 characters\) sed "s/^X//" >./L0/group2.sed <<'END_OF_group2.sed' /src\/ctex/d X/lib\/tex/d END_OF_group2.sed chmod 644 ./L0/group2.sed if test 25 -ne `wc -c < ./L0/group2.sed`; then echo shar: \"./L0/group2.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group3 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group3\" else echo shar: Extracting \"./L0/group3\" \(93 characters\) sed "s/^X//" >./L0/group3 <<'END_OF_group3' # Group3 X# Xfind /usr/bin /usr/lib -newer /etc/.installdate -depth -print |sed -f group3.sed END_OF_group3 chmod 744 ./L0/group3 if test 93 -ne `wc -c < ./L0/group3`; then echo shar: \"./L0/group3\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group3.L0 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group3.L0\" else echo shar: Extracting \"./L0/group3.L0\" \(28 characters\) sed "s/^X//" >./L0/group3.L0 <<'END_OF_group3.L0' Mon Sep 4 15:40:30 MST 1989 END_OF_group3.L0 chmod 644 ./L0/group3.L0 if test 28 -ne `wc -c < ./L0/group3.L0`; then echo shar: \"./L0/group3.L0\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group3.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group3.sed\" else echo shar: Extracting \"./L0/group3.sed\" \(32 characters\) sed "s/^X//" >./L0/group3.sed <<'END_OF_group3.sed' /^.* *\/usr\/bin\/DOS\/dvd000/d END_OF_group3.sed chmod 644 ./L0/group3.sed if test 32 -ne `wc -c < ./L0/group3.sed`; then echo shar: \"./L0/group3.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group4 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group4\" else echo shar: Extracting \"./L0/group4\" \(80 characters\) sed "s/^X//" >./L0/group4 <<'END_OF_group4' # Group4 X# Xfind /usr -newer /etc/.installdate -depth -print |sed -f group4.sed END_OF_group4 chmod 744 ./L0/group4 if test 80 -ne `wc -c < ./L0/group4`; then echo shar: \"./L0/group4\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group4.L0 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group4.L0\" else echo shar: Extracting \"./L0/group4.L0\" \(28 characters\) sed "s/^X//" >./L0/group4.L0 <<'END_OF_group4.L0' Mon Sep 4 15:53:57 MST 1989 END_OF_group4.L0 chmod 644 ./L0/group4.L0 if test 28 -ne `wc -c < ./L0/group4.L0`; then echo shar: \"./L0/group4.L0\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group4.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group4.sed\" else echo shar: Extracting \"./L0/group4.sed\" \(102 characters\) sed "s/^X//" >./L0/group4.sed <<'END_OF_group4.sed' /^.* *\/usr\/catman/d X/^.* *\/usr\/bin/d X/^.* *\/usr\/lib/d X/^.* *\/usr\/spool/d X/^.* *\/usr\/local/d END_OF_group4.sed chmod 644 ./L0/group4.sed if test 102 -ne `wc -c < ./L0/group4.sed`; then echo shar: \"./L0/group4.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group5 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group5\" else echo shar: Extracting \"./L0/group5\" \(85 characters\) sed "s/^X//" >./L0/group5 <<'END_OF_group5' # Group5: /(rest) X# Xfind / -newer /etc/.installdate -depth -print |sed -f group5.sed END_OF_group5 chmod 744 ./L0/group5 if test 85 -ne `wc -c < ./L0/group5`; then echo shar: \"./L0/group5\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group5.L0 -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group5.L0\" else echo shar: Extracting \"./L0/group5.L0\" \(28 characters\) sed "s/^X//" >./L0/group5.L0 <<'END_OF_group5.L0' Mon Sep 4 16:04:22 MST 1989 END_OF_group5.L0 chmod 644 ./L0/group5.L0 if test 28 -ne `wc -c < ./L0/group5.L0`; then echo shar: \"./L0/group5.L0\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/group5.sed -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/group5.sed\" else echo shar: Extracting \"./L0/group5.sed\" \(96 characters\) sed "s/^X//" >./L0/group5.sed <<'END_OF_group5.sed' /^\/usr\//d X/^\/u\//d X/^\/etc\/utmp/d X/^\/etc\/wtmp/d X/^\/etc\/drvtab/d X/^\/dev\//d X/^\/tmp\//d END_OF_group5.sed chmod 644 ./L0/group5.sed if test 96 -ne `wc -c < ./L0/group5.sed`; then echo shar: \"./L0/group5.sed\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/000read.me -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/000read.me\" else echo shar: Extracting \"./L0/000read.me\" \(180 characters\) sed "s/^X//" >./L0/000read.me <<'END_OF_000read.me' L0 backups. 5 groups, all working with /etc/.installdate, when each is done Xthen a file like group1.L0 will be created. This file may be used for L1 Xbackups (-newer group1.L0). END_OF_000read.me chmod 644 ./L0/000read.me if test 180 -ne `wc -c < ./L0/000read.me`; then echo shar: \"./L0/000read.me\" unpacked with wrong size! fi # end of overwriting check fi if test -f ./L0/backup -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"./L0/backup\" else echo shar: Extracting \"./L0/backup\" \(174 characters\) sed "s/^X//" >./L0/backup <<'END_OF_backup' # Backup Last Modified 19-Nov-88/jdc X# X# L0 backup--parameter is one of the 5 groups. X# X./$1 |cpio -ovB >/dev/rfp021 Xecho `date` >$1.L0 END_OF_backup chmod 700 ./L0/backup if test 174 -ne `wc -c < ./L0/backup`; then echo shar: \"./L0/backup\" unpacked with wrong size! fi # end of overwriting check fi echo "shar: End of archive" ## End of shell archive exit 0 -- John Campbell ...!arizona!naucse!jdc CAMPBELL@NAUVAX.bitnet unix? Sure send me a dozen, all different colors.
campbell@vx2.GBA.NYU.EDU (bruce dietrich-campbell) (09/18/89)
In article <1692@naucse.UUCP> jdc@naucse.UUCP (John Campbell) writes: >In article <16730@pasteur.Berkeley.EDU>, sjohn@cory.Berkeley.EDU (John Sasinowski) writes: >> >> I am looking for a way to do incremental backups on my 3b1. > >I found I did not like backing up a system that required one huge >cpio save set of over 100 floppies (67 Mb disk) either. To alleviate >this problem, I broke the task into 5 groups (group1 ... group5). I use a perl script to backup my system. It runs off a simple input file which divides up the files into groups to be separately backed up. Each line in the file begins with a name and is followed by a list of directories and/or files to backup if that name is chosen. When the perl script is run, it displays the list and asks for a choice from the first column. The entry 'ignore' is special. It indicates directories and/or files which should never be backed up. The script won't allow you to choose the name 'ignore'. My set up is as follows: sys / u /u lib /usr/local/lib lcl /usr/local /usr/man ignore /usr/adm /usr/mail /usr/preserve /usr/spool /usr/tmp /tmp For example, if you enter 'sys', then a list is made of all files in the directory tree beginning with '/', which are more recent than the file '/etc/.installdate'. The list is then shortened by eliminating all files that would be backed up if _any other name_ in the list were chosen. That is, all files in the directory tree beginning with '/u', '/usr/local/lib', '/usr/local', '/usr/man', '/usr/adm', '/usr/mail', '/usr/preserve', '/usr/spool', '/usr/tmp' and '/tmp' are eliminated. If 'lcl' is chosen, therefore, all files files more recent than '/etc/.installdate' in '/usr/local' and '/usr/man' are backed up, except for those in '/usr/local/lib'. If 'lib' is chosen, all files in '/usr/local/lib' are backed up. (The script is smart enough not to eliminate all files in '/usr/local'.) When the script prints out the menu of names, it adds the choice part partial backup only to the head of the list. If you choose 'part', a partial backup of all files is done. The list of files to backup is prepared by taking each name in turn from the menu, except 'ignore', and finding files which are more recent than the last backup done for that name. The date of last backup for each name is marked by the creation of a file in a directory. My system is set up so that a partial backup is written to the UnixPC floppy drive, while other backups are written to files in a directory, later to be transferred to another computer. The whole thing is easily tailored by changing a few perl and shell scripts. If anyone would like to try out the perl script please e-mail me and I'll send a copy. ............................................................................. Bruce Dietrich-Campbell ARPA: campbell@vx2.gba.nyu.edu USENET: ...!{uunet,rocky,harvard}!cmcl2!vx2!campbell