.asm, . , -c , .c, -h , - .h. , , , grep. grep . -d , - . a: A:. - , . /etc/default/msdos. - XENIX. , : A=/dev/fd048ds9 B=/dev/fd148ds9 C=/dev/hd0d D=/dev/hd1d X=/dev/fd096ds15 Y=/dev/fd196ds15 , - . dosflp doscp. DOS. Dosflp . , "-dB:" - B A. , , - , -e. , - grep. - , grep(1) AT&T UNIX grep(C) - XENIX. - ed(1). , - , sed grep. , "*test*", grep ".*test.*". - , test. (.*), t-e-s-t, (.*). "-e.\*test.\*". , . ( .) (\) - . , - , . - , dosflp, grep-. -h - . dosflp. ".*\.h$", , - (.*), (.\), h - (h$). , -e, -h - . -l dosflp. - . dosxx, dosdir. dosflp, , , - dosdir. -r dosflp. , . , - , , . "n", , . , , ( -l), grep, . . -r , "rm *". , -s, , - DOS. - , -s - . - , , . XENIX DOS - , . XENIX UNIX - /x/y/z. DOS - " ", .. \x\y\z. XENIX DOS, XENIX, a:/x/y/z. , . , dosflp . , . 1. $ dosflp -dB: -c -l *.c DOS, - B. - , , . 2. $ cd /destdir $ dosflp -ssrc -e.\*src.\* , . DOS ( A, src), . *src*. UNIX : "cp A:/src/*src* .". 3. $ dosflp -r -stmp , tmp DOS ( A). , . UNIX : "rm A:/tmp/*". 4. $ sh -x `path dosflp` -dB: dosflp . - , , ( - dosflp), . , dosflp, - , , dosflp . , dosflp $#, -dB: . 4-6 . - - , - grep .\*. - , - . - A:. - , "c" . 8-25 - . - ($# -gt 0), . - , . , . . , , EXP . , , , , OP. , - , - ARG - cut (), , - . , , , . , -d . -dB:, -d B:, B: ARG for, . 27-39 , , - case. , "copying" , case. , , , - dosdir - more, dosflp . , . "yes", , . "no", dosflp . . 41 - . dosls . , tr (translate), - , . - XENIX . , . 43-50 . for . dosxx. , -. , for, - grep , - . , - , , . : , . case 46-49. - , - - . , DRIVE , . "/" DRIVE 16. : B:/subdir/file. - , / dosrm. , ( , , ) , A:/subdir A:subdir. . , - .   , dosflp, - . .asm, .c .h, - , - . 3.3. 3.3.1. autobkp - --------------------------------------------------------------------- : autobkp _____________________________________________________________________ autobkp  , 24 , ( uucp) - .   autobkp [-c] [>logfile] -c uucp autobkp < filelist >> bkplog , filelist, bkplog autobkp 1 : 2 # @(#) autobkp v1.0 Automatic file backup Author: Russ Sage 4 if [ $# -gt 1 ] 5 then echo "autobkp: argument error" >&2 6 echo "usage: autobkp [-c] [>logfile]" >&2 7 exit 8 fi 10 if [ "$1" = "-c" ] 11 then COPY=on 12 else COPY=off 13 fi 15 echo "\nBACKUP DATE `date '+%a %m/%d/%y %H:%M:%S'`" 16 echo "-----------------------------------------" 18 SYSTEM='' # destination system uucp node name 19 : ${SYSTEM:=`uuname -l`} 21 echo "Sourse system:\t\t`uuname -l`\nDestination system:\t$SYSTEM" 23 while read SRCDIR DESTDIR FILES 24 do 25 if [ ! -d $SRCDIR ] 26 then echo "autobkp: $SRCDIR is not a directory" 27 continue 28 fi 30 cd $SRCDIR 31 echo "\nFinding files in: $SRCDIR" 33 for FILE in `find . -type f -ctime 0 -name "$FILES" -print` 34 do 35 case $COPY in 36 off) uucp $FILE $SYSTEM!$DESTDIR;; 37 on) cp $FILE $DESTDIR;; 38 esac 39 echo " Transferred $FILE to $DESTDIR" 40 done 41 done COPY , , uucp cp FILE , FILES -, , PATH1 - PATH2 - SYSTEM - uucp autobkp? , UNIX . , . - - . . - - , ( , ). - ( ) , 24 . , , - . - , , - . . - . - , . . , . - , . , tar cpio. , , , , uucp. , , . , . , ( cron at, 5). - , 24 (, ). - -. , , . autobkp. autobkp? autobkp , . , *.c, *.h - . autobkp . - . , , , , - ( , core ), ( *.o, ) - , - . , . uucp, - , . , - -c cp uucp. - . stdout . autobkp , . - - , , . : -------------------------- | BACKUP DATE Fri 05/23/86 17:33:35 | - -. . - - russ, - - - vax. -------------------------- | Source system: russ | Destination system: vax - : ----------------------------- | Finding files in: src_dir | src_dir - , . , , autobkp - . , - /- . : ------------------------------ | Transferred file to dest_dir | , file - dest_dir. , , autobkp . stdin, - , - . , , , . autobkp. : FROM, TO TYPE. FROM - -. . , autobkp , - . TO - -, , - , - -. TYPE - -, autobkp, . *, *.c, *src*, . , find Unix, . - TYPE, find. : , 24 , - FROM TYPE - TO. . , . - , : , , - . /usr/russ/bin /pack1/russ/.bkp/bin * /usr/russ/doc /pack1/russ/.bkp/doc * /usr/russ/src /pack1/russ/.bkp/src *.c /usr/product1 /pack1/russ/.bkp/product1 *.[ch] bin, doc src . src , . . *.c *.h. ( - ) - UNIX. - , , (bkp). cron , autobkp , , , . Cron, , . cron - ( -, /usr/lib/crontab), - cron. - cron, cron(1M) - . , /usr/lib/crontab , , , . *, - . cron, 4.00 , : 0 4 * * * /usr/russ/bin/autobkp.cron , cron , autobkp. , autobkp. -, cron , - , . -, autobkp, - . - . , . , . # Cron-driven autobkp driver echo "backed up: `date`" > /dev/tty00 /usr/bin/autobkp < /usr/russ/bin/autobkpath >> /usr/russ/bin/autobkp.log , autobkp, bin - . , (tty00). , . - . , , - . - , - , , . 1. $ autobkp . FROM, TO, TYPE , . , autobkp , . ^d ( read - ). 2. $ autobkp < pathlist , - . Autobkp - , pathlist. 3. $ autobkp >> logfile , - . , . autobkp ^d. 4. $ autobkp -c < pathlist >> logfile (- - pathlist). pathlist logfile. 4-8 . Autobkp , (-c, cp). , - - , , , . , - (#1 -gt 1), . - . 10-13 -c. - , , $# , , "-". , , ( , ). if [ $1 = -c ] , - , "no argument in the statement" (" "). , , : if [ "$1" = "-c" ] , $1 " -c?" "", . . . - , - . . , , - , number = val(STRING$) . , - . : str1 = str2 : num1 -eq num2 -lt -gt . , . , - . -- , , , - . . -c, COPY , ", - cp, uucp". -c - , COPY . 15-16 , . , date UNIX echo, , , . . , echo. (`) date , "- " . date - , , . echo . , . , , , . ., "\". 18 SYSTEM , uucp. , - . - , , . 18 , , 14 SYSTEM . , 18 , , autobkp -c, uucp - , . , , autobkp -c - . 19 , - . . - ":". , - , , (" ") . , , : " SYSTEM , , ". - uuname -l. , - , , - - . uuname -l, uname -n . Uname -n - uts , XENIX uts . - /etc/systemid, (micnet), XENIX Microsoft. uuname -l - ( ) uucp. UNIX, XENIX. - , ! 21 -. , autobkp, , . uuname - echo. , uuname. , - - . 23-41 - , . while, - . , read. , , - , , , . . , stdin autobkp read - , . , . - control-d (^d) . : " , , , ." 25-28 , - . , continue while. 30 -. find (.). cd, - , -. , -, - . 31 , . - , - , autobkp. 33-40 . for, find. , , . , . find , , for ( - find). , . , pathlist. , , , : find . -type f -ctime 0 -name "$FILES" -print | while read FILE , - ( , - ). . find. -, (.). - . find f, , . . , . "" . ( stat(2), , . " "ctime 0"", , 24 . , find - , , - .) find " , , $FILES, ". , ( - ) , . - find " , - ". for. , find - for. 35-38 case , , . COPY , uucp. - , SYSTEM. SYSTEM 18, SYSTEM - - uucp . COPY , SYSTEM ( uucp) - .