cQAUTOBU ;Starten van de Backup ;cQAUTOBU; [ 05/31/01 10:53 AM ] G YZ ; T0 ;Starten van de backup ; T1 ;Starten van de backup\".[] = ja -[] = einde programma" T2 ;De backup is gestart. Even geduld aub...; ; T0F ;Demarrer le copie de sauvegarde ; T1F ;Démarrer le copie de sauvegarde\".[] = oui -[] = fin du programme" T2F ;Le copie de sauvegarde est démarré. Patientez svp...; ; 1 D INI^cQ6 S BG=0,CHK=0,K=$P($T(@("T0"_QT)),";",2)_QN_" ",FP=203+$L(K) W @F61,@F11,@F1,@F,@F5 S FP=202 W @F,@F4,K,@F5 D MASTER^cQ5 I workst D NOACCES^cQ4 G YZ 11 S R="K\22\3\"_$P($T(@("T1"_QT)),U,2)_"\1\\"".-""[K&$L(K)\" D R0 G YZ:K="-" S FP=1203 W @F,@F1,$P($T(@("T2"_QT)),U,2) ; BG ; for compatiblity reasons. Don't remove this label! START D MASTER^cQ5,QT^cQ5 L +^cLOG(cs,"BACKUP","AUTO"):1 E G STARTZ S U=";",D="\" K BUDIR,BUVGS ; K L S L=$G(^cLOG(cs,"BACKUP","AUTO")) I '$L(L) S L="TAPE" M L=^cLOG(0,"BACKUP","AUTO",L) S TYPE=+$G(^cLOG(cs,"BACKUP","TYPE"),3) I $D(^cLOG(cs,"BACKUP","AUTO",L)) M L=^cLOG(cs,"BACKUP","AUTO",L) X:$D(L("X")) L("X") K L("X") I L="DATA" G DATA S:'$L($G(L(0))) L(0)="c:\menu\datam.bat" I $O(L(0))="" F I=1:1 S L(I)=$P("@echo off;c:;cd \menu;backup auto;c:;cd \menu;wait 120;boot",U,I) Q:L(I)="" S DEV=L(0) O DEV:(:"w") U DEV G STARTZ:$ZA<0 S J=0 F S J=$O(L(J)) Q:J="" W L(J),! S K=0 F S K=$O(L(J,K)) Q:K="" W L(J,K),! C DEV ; S SX=$$AKJ^cQ9 ; S BY="Auto-Backup" G INT^cQSSD ; STARTZ L -^cLOG(cs,"BACKUP","AUTO") G YZ ; DATA K DBS,DBD S BOK=1,D="\",BUDIR=$TR(BUDIR,"/",D) F Q:$E(BUDIR,$L(BUDIR))'=D S BUDIR=$E(BUDIR,1,$L(BUDIR)-1) I TYPE=3 D GDB(BUVGS) I TYPE=4 D . S DIRFR=$TR(DIRFR,"/",D) . F S K=$P(DIRFR," "),DIRFR=$P(DIRFR," ",2,$L(DIRFR," ")) Q:'($L(K)+$L(DIRFR)) I $L(K) S DIRFR(K)="" ; D SW(13,1) ;disable database writes S BEGIN=$H,INFO=$$INFO^cQ14 K log ; S (DBS,DIRFR)="",$ZT="TRAP" I TYPE=3 D . F S DBS=$O(DBS(DBS)) Q:DBS="" D .. S DBD=DBS,$E(DBD,2)="",$E(DBD,1)=BUDIR,DBD(DBD)=DBS(DBS) .. S QF=$$XCP^cQFILE(DBS,DBD) D ^cA105,^cA106 .. S QF=QF_";"_$TR(DBS,"\","/")_";"_$TR(DBD,"\","/") .. I +QF D ... S BOK=0,%="Error while copying database "_$G(ER) ... D SW(13,0) D ^cA400 D SW(13,1) .. S log($P($H,","),$P($H,",",2))=QF_"\"_DD_"."_DM_"."_DJ_"\"_TD_"\"_$H_"\" H 1 I TYPE=4 D . S QF=$ZF(-1,"echo M Backup Started > "_BUDIR_"\bu_start.txt") . F S DIRFR=$O(DIRFR(DIRFR)) Q:DIRFR="" D .. S DIRTO=BUDIR_D_$P(DIRFR,D,2,$L(DIRFR,D)) .. S QF=$ZF(-1,"del "_DIRTO_"\journal /s /q > "_INFO) ;delete journal files in backup directory .. S QF=$$XCP^cQFILE(DIRFR,DIRTO) D ^cA105,^cA106 .. S QF=QF_";"_$TR(DIRFR,"\","/")_";"_$TR(DIRTO,"\","/") .. I +QF D ... S BOK=0,%="Error while copying directory "_$G(ER) ... D SW(13,0) D ^cA400 D SW(13,1) .. S log($P($H,","),$P($H,",",2))=QF_"\"_DD_"."_DM_"."_DJ_"\"_TD_"\"_$H_"\" . I 'QF S K=$ZF(-1,"echo M Backup Finished > "_BUDIR_"\bu_stop.txt") ; D SW(13,0) ;enable database writes S EINDE=$H,DR=EINDE-BEGIN*86400+$P(EINDE,",",2)-$P(BEGIN,",",2)/60+.7\1 I BOK D S^cQLBU("DATA",DR) S LOG="^cLOG(cs,""BACKUP"",""LOGGING"")" D CLEAN^cQ13(LOG,45) M @LOG=log I 'BOK,$G(BG)'=0 D D1003^cANEM0($T(+0),"BG") ; DATAZ L -^cLOG(cs,"BACKUP","AUTO") G YZ ; YZ K AUTOBU,TIME,HSTART,HSTOP,SX,%ACTIVE0,I,J,ACJ,CUJ Q ; TRAP D SW(13,0) ;enable database writes S BOK=0,%="Error in auto backup "_$ZE D ^cA400 Q ; GDB(V) ; Get databases for all namespaces in V K DBS N I,J S D="\",V=$TR($G(V),"/",D),AD=0 S:$E(V)'=D V=D_V S:$E(V,$L(V))'=D V=V_D I V=D_D D NSPC^cQ21(.V,1) S I="",V=D F S I=$O(V(I)) Q:I="" I I'="USER" S V=V_I_D D ND^cQ21(.X) F I=1:1:$L(V,D) S J=$$UC($P(V,D,I)) I $L(J) D . I $D(X(J)) D DBN(J) Q . I J?1.U F L=1:1:99 D DBN(J_L) S I="" F S I=$O(DBS(I)) Q:I="" I $P(I,D,5)="G",$P(I,D,6)'=0 D . S K=I,$P(K,D,6)=0 I '$D(DBS(K)) S AD=AD+1,DBS(K)=AD GDBZ Q ; DBN(R) ; get databases into local DBS N K,L I '$D(X(R)) Q F K="globals","routines" S L=$G(X(R,K)) I $L(L) S:$E(L,$L(L))="\" $E(L,$L(L))="" S AD=AD+1,DBS(L)=AD DBNZ Q ; R0 S R0=$P(R,D,5) I $L(R0),R0'["""" S $P(R,D,5)=R0_"^"_$T(+0) R0A S R0=$P(R,D,7) I $L(R0),R0'="DCTR" S $P(R,D,7)="",R1=$P(R,D,8),R0=$P($T(@R0),U,2,99) S:$L(R1) R0=R0_"&("_R1_")" S $P(R,D,8)=R0 R0Z S $P(R,D,12)=$T(+0) K R0,R1 D ^cA100 Q ; v11 30.05.94 ; SW(%SW,%VAL) ; Set switch N K S %SW=$G(%SW) Q:'%SW S %VAL=+$G(%VAL) S %UU=$ZU(5) ZN "%SYS" D INT^SWSET ZN %UU Q ; UC(K) Q $TR(K,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") ; ZZ ; 24.08.01 - 9 u 19 * Cache-r3.1.8