로그인   |  회원가입  |  사이트맵  |  Contact Us
  아이디 저장하기
 
홈 > SAS Tech & Tip > SAS 고수
SAS 프로그램 자동 백업 시스템 구축 예제 2018.06.14
백승민 50 0
http://www.mysas.co.kr/SAS_tiptech/a_all.asp?B_NO=7714&gotopage=1&cmd=content

팀에서 관리하는 SAS 정기 Batch 프로그램이 50여개가 되다보니 백업 문제가 발생이 되어서 SAS 프로그램으로 Backup 프로그램을 구현했습니다. 오랫만에 copy와 xcopy 명령어를 사용하게 되었네요.

(향후 디렉토리내의 프로그램 목록까지 읽어서 자동으로 처리하면 좋을 듯 싶습니다.)

참고 예제 올립니다.

 

* 백업 일자 생성(폴더);

%LET DIR_DATE = %SYSFUNC(TODAY(),YYMMDDN8.);

%PUT &DIR_DATE;


* DOS COMMAND 창 제어;

options noxwait noxsync;


* BACKUP 서버 네트워크 드라이브 연결;

x 'net use q: \\10.3.XX.XX\test\16.SAS_Program\82번 네트워크연결암호 /user:사용자계정';


***************************************;

* 파일 복사 명령어;

***************************************;


* 42.RSR_AGENT 디렉토리에서 *.SAS 파일(하위디렉토리 제외) 복사; 

x "copy "D:\001.Batch\000.과거\42.RSR_AGENT\*.SAS" "\\10.3.XX.XX\test\16.SAS_Program"";


* 42.RSR_AGENT 디렉토리에서 모든 파일(하위디렉토리 제외) 복사; 

x "copy "D:\001.Batch\000.과거\42.RSR_AGENT\*.*" "\\10.3.XX.XX\test\16.SAS_Program"";


***********************************************************************************;

* 특정 소스 폴더 전체(하위디렉토리 포함)를 복사시에는 XCOPY 명령어를 사용하여 복사 ;

***********************************************************************************;


* 42.RSR_AGENT 디렉토리에서 모든 파일(하위디렉토리 포함) 복사; 


* xcopy 명령어 /e : 비어 있는 하위 디렉토리까지 복사;

* xcopy 명령어 /h : 히든 파일과 시스템 속성의 파일까지 복사;

* xcopy 명령어 /k : 파일 속성 복사(이 옵션이 없으면, 읽기 전용 등의 속성이 삭제됨.);


x "xcopy D:\001.Batch\000.과거\42.RSR_AGENT\*.* \\10.3.XX.XX\test\16.SAS_Program /e /h /k";


* 위에서 연결하였던 네트워크 연결 해제;

x 'net use /delete q:';




******************************************************;

* 백업 예시 프로그램;

* 작업 스케쥴러 등록을 통하여서 자동 백업 시스템 구축;

******************************************************;


* 당일 폴더 생성;

x "md \\10.3.120.56\test\16.SAS_Program\82번\&DIR_DATE";


* %PUT &TAR_DIR\&SUB_DIR_1\&SUB_DIR_2\*.sas;

* %LET COPY_TARGET=&TAR_DIR\&SUB_DIR_1\&SUB_DIR_2\*.sas;

* x "copy ""&COPY_TARGET"" "\\10.3.120.56\test\16.SAS_Program""; 



* 해당 디렉토리 내의 SAS 파일 복사;

%LET TAR_DIR   = D:;

%LET SUB_DIR_1 = 001.Batch;

* 복사 대상 폴더 생성;

x "md \\10.3.120.56\test\16.SAS_Program\82번\&DIR_DATE\&SUB_DIR_1";


****** 001.자동차신규OB_스코어링 폴더 백업;

%LET SUB_DIR_2 = 001.자동차신규OB_스코어링;

* SUB 디렉토리 생성;

x "md \\10.3.120.56\test\16.SAS_Program\82번\&DIR_DATE\&SUB_DIR_1\&SUB_DIR_2";

x "copy "&TAR_DIR\&SUB_DIR_1\&SUB_DIR_2\*.*" "\\10.3.XX.XX\test\16.SAS_Program\82번\&DIR_DATE\&SUB_DIR_1\&SUB_DIR_2""; 

 

 

* 출처 : http://cafe.daum.net/statsas/3F8j/378

******************************************************
- 통계분석연구회
- 카페 : http://cafe.daum.net/statsas 

- 통계분석연구회(Statistics Analysis Study) 그룹 :https://www.facebook.com/groups/statsas
 
 
 
 
 [Macro, 날짜] 매크로에서 날짜 함수를 사용하여 날짜 처리
 [Macro 디렉토로] 공백이 포함된 디렉토리명을 매크로에서 처리하기