; BACKUP.CMD .ENABLE SUBSTITUTION .ENABLE GLOBAL TIM .GOTO 10 ; $NOOPR IS DEFINED (TRUE) IF NO OPERATOR INTERVENTION IS DESIRED ; IT ASSUMES BK: IS MOUNTED AND 5 DISKS ARE TO BE BACKED UP ; $NEWBK IS DEFINED (TRUE) IF A PRESERVE OR DSC HAS JUST BEEN DONE AND ; A NEW BACKUP DATE AND TIME SHOULD BE ESTABLISHED ; $SPECL IS DEFINED (TRUE) IF THE OPERATOR WANTS TO BACKUP UP ONLY A ; SPECIFIED NUMBER OF DISKS ; $UIC IS DEFINED AND SET TO A UIC STRING IF A SPECIAL BACKUP ; ($SPECL = TRUE) IS BEING PERFORMED .10: .IFNDF $NOOPR .SETF $NOOPR .IFNDF $NEWBK .SETF $NEWBK .IFNDF $SPECL .SETF $SPECL .IFF $SPECL .SETS $UIC "[*,*]" .IFF $SPECL .SETS $BK "BK" .SETS BK "BAK01" .IFT $NOOPR .GOTO 300 .IFF $SPECL SET /UIC=[1,2] .IFT $NEWBK .GOTO 210 .ASK INIT DO YOU WISH TO INIT BK: .IFF INIT .GOTO 100 .ASKS BK ENTER THE VOLUME NAME TO INIT BK: INIT BK:'BK' .GOTO 200 .100: .ASKS BK ENTER THE VOLUME LABEL ON BK: .200: MOUNT BK:'BK' .210: .IFT $SPECL .GOTO 700 ASN LB:=SY: .IFT $NEWBK .GOTO 300 ; ; SY: SHOULD HAVE AT LEAST 60. FREE BLOCKS TO CONTINUE ; PIP SY:/FR .ASK OK PROCEED .IFF OK .GOTO 999 .300: PIP NEWDATE.DAT;*/DE,*.DIR;*,*.PIP;* TEC @LB:[1,2]NEWDATE.TEC !GENERATE FILE NEWDATE.DAT .IFT $NEWBK .GOTO 900 .SETS $DDU "SY1:" .GOSUB BAK1 .SETS $DDU "DK2:" .GOSUB BAK1 .SETS $DDU "DK3:" .GOSUB BAK1 .SETS $DDU "DK4:" .GOSUB BAK1 .SETS $DDU "DK6:" .GOSUB BAK1 .IFT $NOOPR .GOTO 900 .700: .ASK MORE ANY OTHER DISKS TO BACK UP .IFF MORE .GOTO 900 .ASKS $DDU ENTER DEVICE NAME [XXN:] .ASK DMO DISMOUNT '$DDU' FIRST .IFT DMO ACS '$DDU'/BLKS=0 .IFT DMO DMO '$DDU' .ASKS DISK LOAD THE DISK INTO '$DDU' AND ENTER THE VOLUME NAME MOUNT '$DDU''DISK' .GOSUB BAK1 .GOTO 700 .900: .IFT $SPECL .GOTO 950 PIP OLDDATE.*;*/DE,*.PIP;*,*.DIR;* PIP OLDDATE.DAT=BAKDATE.DAT PIP BAKDATE.*;*/DE PIP BAKDATE.DAT=NEWDATE.DAT PIP NEWDATE.DAT;*/DE .IFT $NEWBK .GOTO 999 .950: .SETS BLANK "" .IF BK = BLANK .SETS BK "BACKUP" PIP 'BK'.DIR=BK:/FU PIP 'BK'.DIR/SP .IFF $NOOPR DMO BK:'BK' .IFF $SPECL .SETS TERM "LOG" .IFT $SPECL .SETS TERM "TI" BRO 'TERM': BACKUP COMPLETE .IFT $SPECL .GOTO 999 .IFF $NOOPR .XQT BAK /TI:8:00 .IFT $NOOPR .XQT BAK /TI:8:00/NOOPR .999: / ; ; SUBROUTINE TO BACKUP THE FILES IN $DDU ; .BAK1: PIP DISK.DIR='$DDU''$UIC'/LI .WAIT PIP TEC @LB:[1,2]BAKUP.TEC !'$DDU' .WAIT TEC PIP DISK.DIR;*/DE .WAIT PIP PIP @BAKUP.PIP !'$DDU' .WAIT PIP PIP BAKUP.PIP;*/DE .WAIT PIP .RETURN