로그 자동 삭제 및 관리 방안

ETC

로그 자동 삭제 및 관리 방안

.bat 파일을 X-SCADA와 연동하여 X-SCADA 활용 중 있었던 다양한 로그들을 관리할 수 있습니다.

예를 들어 주기적으로 최근 90일 이내의 로그를 제외하고 모두 자동 삭제하여 최신화된 로그만 선별하여 관리할 수 있습니다.


bat 의 forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [date | days] 명령어 활용




1. 배치 파일 생성하기


1) C:\Xisom 로 이동한 뒤 LogClear.txt 텍스트 파일을 생성한다.

0c3db340836e0694c8a8d13333e8e02d_1675320643_2758.png
 

2) 아래 명령어를 텍스트 파일에 작성한 뒤 저장한다.

- forfiles /P logs /S /M *.log /D -%1 /C "cmd /c del @file" 입력

0c3db340836e0694c8a8d13333e8e02d_1675320651_8404.png
 

3) 저장한 텍스트 파일(.txt)의 확장자를 .bat으로 변경한다.

0c3db340836e0694c8a8d13333e8e02d_1675320658_771.png
 




2. X-SCADA의 Script를 활용한 .bat 파일 실행


1) X-SCADA Designer 실행 후 보기(View) > 스크립트 편집(Script Editor)을 클릭한다.

0c3db340836e0694c8a8d13333e8e02d_1675320673_4616.png
 

2) 생성된 팝업에서 아래와 같이 스크립트를 작성한다.

- 생성한 .bat파일을 정시마다 실행시켜 90일 이전 파일이 존재하면 삭제하도록 한다.

0c3db340836e0694c8a8d13333e8e02d_1675320681_3506.png 

 $XT("_System.DateTime.Hour24").addEventListener("change", executeFile);


function executeFile() {

    scada.utils.exec("C:\\Xisom\\LogClear.bat", "90", callBack);

}

function callBack(result) {

    console.log(result.data);

}




3. X-SCADA의 장치 및 태그를 활용한 .bat 파일 실행


1) X-SCADA Designer 실행 후 장치 탐색기(Device Explorer)에서 마우스 오른쪽 클릭 후 새 장치 추가(New Device)를 한다.

0c3db340836e0694c8a8d13333e8e02d_1675320726_0242.png
 

2) 새로 추가한 장치를 마우스 오른쪽 클릭한 뒤 기타 연결 추가(New Other)를 한다.

0c3db340836e0694c8a8d13333e8e02d_1675320741_0915.png
 

3) 속성(Properties) > 일반(General) > 프로토콜(Protocol) 에서 Execute를 선택한다.

0c3db340836e0694c8a8d13333e8e02d_1675320751_5006.png
 

4) Execute > Path 에서 미리 생성한 LogClear.bat 파일을 설정한다.

0c3db340836e0694c8a8d13333e8e02d_1675320760_302.png
 

5) 스캔시간(ScanTime)을 3600000 (1시간)으로 설정한다.

- 스캔시간은 millisecond 단위이기 때문에, 1시간으로 설정하기 위해 3600000으로 설정했다.

0c3db340836e0694c8a8d13333e8e02d_1675320769_8206.png
 

6) 태그 탐색기(Tag Explorer)에서 문자열 태그 추가(New String)를 한다.

0c3db340836e0694c8a8d13333e8e02d_1675320777_7894.png
 

7) 생성한 string_1 태그의 속성(Properties)에서 장치(Device)와 장치내 주소(DeviceAddress)를 설정한다.

- 장치(Device) : 방금 생성한 장치 이름을 찾아서 설정

- 장치내 주소(DeviceAddress) : 90일 이전의 Logs들을 모두 지우려면 90이라고 입력

0c3db340836e0694c8a8d13333e8e02d_1675320793_901.png 




참고 : forfiles | Microsoft Learn 



0 답글
제목