. , - , , , . , , . find , . , find , - , , . ", (/)", , . for , while . - , . uucp uucp, - ("x") "others" () , . : --------x "wx", - uucp . - uucp. , ( cp, mv) - . mv, , (inode). - cp, . ( ) (uid) (gid), . ( cp, mv) , , , . uucp , , . - , . . uucp (/usr/spool/uucppublic/$LOGNAME), . cron , - , - , - . , , . , . TYPE FROM, /usr/russ/bin/*. ( , , !), * , , . - , . - . * - , \ * , . , : TYPE=`basename \"$FROM"` * TYPE, , TYPE , . , find, TYPE , - , find. 3.3.2. cpiobr - ------------------------------------------------------------------- : cpiobr ____________________________________________________________________ cpiobr cpio  cpio . - .   cpiobr cpiobr , cpiobr 1 : 2 # @(#) cpiobr v1.0 Cpio stream backup and restore Author: Russ Sage 4 if [ "$#" -gt "0" ] 5 then echo "cpiobr: too many arguments" 6 exit 7 fi 9 while : 10 do 11 c 12 set `date` 13 echo " 15 $1, $2 $3 $4 17 Cpiobr Backup & Restore 18 ----------------------- 19 Backup to removable media 20 Restore from removable media 21 List files on media 22 Long list files on media 23 to exit 25 Press b,r,f,l or : \c" 27 read CMD 28 if [ "$CMD" = "" ] 29 then break 30 fi 32 ABORT=off 34 while : 35 do 36 echo " 38 Enter media type: 39 Raw System V floppy drive (/dev/rfp021) 40 Raw XENIX floppy drive (/dev/rfd0) 41 Tape drive (/dev/rmt0) 42 Any device (/dev/???) 43 to exit 45 Press s,x,t,a, or : \c" 47 read MEDIA 48 case $MEDIA in 49 s|S) DEV=/dev/rfp021 50 break;; 51 x|X) DEV=/dev/rfd0 52 break;; 53 t|T) DEV=/dev/rmt0 54 break;; 55 a|A) echo "enter full pathname (or <> to exit): \c" 56 read DEV 57 if [ "$DEV" = "" ] 58 then continue 59 else break 60 fi;; 61 "") ABORT=on 62 break;; 63 *) echo "cpiobr: invalid command \"$MEDIA\"";; 64 esac 65 done # while get media 67 if [ "$ABORT" = "on" ] 68 then continue 69 fi 71 case $CMD in 72 b|B) echo "\nEnter the source directory name: \c" 73 read SRC 74 cd $SRC 75 echo "\nPlace floppy in drive and hit ...\c" 76 read CMD 77 find . -print | sort | cpio -ocBv > $DEV 78 echo "\nhit \c" 79 read CMD 80 ;; 81 r|R) echo "\nEnter the destination directory name: \c" 82 read DEST 83 cd $DEST 84 echo "\nPlace floppy in drive and hit ...\c" 85 read CMD 86 cpio -icBvdmu < $DEV 87 echo "\nhit \c" 88 read CMD 89 ;; 90 f|F) cpio -icBt < $DEV 91 echo "\nhit \c" 92 read CMD 93 ;; 94 l|L) cpio -icBtv < $DEV 95 echo "\nhit \c" 96 read CMD 97 ;; 98 *) echo "cpiobr: invalid command \"$CMD\"" 99 ;; 100 esac 101 done ABORT , , CMD , DEST - DEV MEDIA , SRC - cpiobr? - autobkp, - . , - , , - . . , . - . - , , - , . , - cpio , . , ( ) . cpio , , . cpiobr. - , - , , . cpiobr? Cpiobr - - . cpio UNIX. , , - , , , - ( ls -l). , , - (streamer). , , . Cpiobr - UNIX AT&T (/dev/fp021), XENIX IBM (/dev/fd0), (/dev/rmt0) (/dev/???). - . UNIX, , , . , - , , - - -. , - , (/.), cpiobr - . , , . , , , cpiobr . , , - cpio, "/.". , . . , , -, - cpiobr. ( , - , .) 1. b x $HOME XENIX, $HOME. 2. r a /dev/rmt0 $HOME , (/dev/rmt0, ), . 3. l s , UNIX PC. 4-7 - . - - cpiobr. , . , , - , , . -- , , . - , , . , ? - , . , , . cpio. : . " while". - break, . . , 6 - 87. , - , - , . , - , (CR). , . 11, . "c", . " " - UNIX, , . 12 date UNIX. - , . , - date , - . - . , - date, . $n, n . 13-25 - echo, . echo - , , . . echo , . - UNIX cat , ( ). : cat <<-EOF Main Menu Information EOF , . , , - "\c", cat . cat, echo , - . - . , . echo - , . -, echo , , echo - . , - , , , . . , echo . echo, . - , echo , echo "\t" \\t, . cpiobr - . . , - . , - (, cpio). , . - . , - , . . , , , . (, - .) . --------------------------------------- | , 28 13:18:49 | | Cpio - / | --------------------- | | | | | <> | | b,r,f,l, <>: , , . 1, 2 3 date. - . 4 date. , , . , , 27 . , - , . ? , - (. 28-30). , while. , . - , . 32 ABORT . . , , , break, (.. ). 34-65 while, - . , " while" , , . , - . . 36-45 echo . , /. 47 MEDIA. MEDIA case. , , . , , - . , - break. , while, - break. DEV . "a" 55-60 . - , . - , , continue. , . . , , break, , , - DEV. , . , ABORT "on". ? , - . . . , , ( - ). while , while - - -. - "break 2", while ( ) , . , . , () . , ABORT. - ABORT "", - , . , 67-69 - . ABORT , - continue , - . 71 - , . , , . - - , - . - - 28 . - . , . echo "" CMD - ( -) , . , , , find. - find , - . - cpio -ocBv. : " , , 5K, - ". , . -icBvdmu. " , , 5, , , - , ". , -icBt ( cpio "ls"), -icBtv - ("ls -l" cpio). hit ( <>) , , . , , , , "done", . , - , - ! , , . , - . - . , - cpio tar. - UNIX tar. - . , . -, , ( - , ), . , , - tar 1 , - , . tar . , , , ( k=360 XENIX). tar , , - . , , , 10M . , tar. , . : cd $HOME tar cvefbk /dev/fd048ds9 18 360 . , ( - ) (.) , 18 K 360 . , - tar , , - . - tar, - , . ? : cd $HOME find . -print | sort | cpio -pdv /bkpsort . /bkpsort tar, . , 15 . 15 , . tar xvf /dev/fd048ds9 , , . cpio . tar, . -, cpio, find . , find, sort, . , cpio . . cpio - . ? - - cpio, . , , , XENIX. XENIX , - , . - cpio , XENIX. cpio tar . cpio (), . , 15 , - , , - . , 2 ? . . tar , 2 , 3-15 . cpio , , - . ( -p) - , , - ( -i -o), . Cpio - - . 4.2 BSD? tar , tar(1). , - . -r ( ) cp. - , - cpio . 3.4. 3.4.1. dsum - ------------------------------------------------------------- : dsum _____________________________________________________________ dsum  sum UNIX . , .   dsum [-c|-o] control_dir backup_dir dsum $HOME/bin /mnt , - , - /mnt. dsum 1 : 2 # @(#) dsum v1.0 Dual directory sum Author: Russ Sage 4 if [ $# -lt 2 -o $# -gt 3 ] 5 then echo "dsum: invalid argument count" >&2 6 echo "usage: dsum [-c|-o] control_dir backup_dir" >&2 7 echo " -c = C source files, -o = object files" >&2 8 exit 1 9 fi 11 case $# in 12 2) FLIST=*;; 13 3) case $1 in 14 -c) FLIST=*.c;; 15 -o) FLIST=*.o;; 16 *) echo "dsum: invalid argument $1" >&2 17 echo "usage: dsum [-c|-o] control_dir bacup_dir" >&2 18 exit 1;; 19 esac 20 shift;; 21 esac 23 for FILE in $1/$FLIST 24 do 25 BASEF=`basename $FILE` 26 if [ `expr $BASEF : '.*'` -lt 7 ] 27 then echo "`$BASEF: \t'`sum $FILE | cut -d' ' -f1`\t\c" 28 else echo "$BASEF:\t`sum $FILE | cut -d' ' -f1`\t\c" 29 fi 30 sum $2/$BASEF | cut -d' ' -f1 31 done BASEF FILE FLIST dsum? . : , , , , . , ( , ). , : , , . , : , - . , , ( - ), , ? , , . - sum. , - . UNIX, - , cmp diff . , sum - ( ), - . 35 , , . , , , . , sum . cmp , , 39- . , sum ? , sum , , , . , sum - . . , , , , sum - .