로그 자동 삭제 및 관리 방안
.bat 파일을 X-SCADA와 연동하여 X-SCADA 활용 중 있었던 다양한 로그들을 관리할 수 있습니다.
예를 들어 주기적으로 최근 90일 이내의 로그를 제외하고 모두 자동 삭제하여 최신화된 로그만 선별하여 관리할 수 있습니다.
bat 의 forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [date | days] 명령어 활용
1. 배치 파일 생성하기
1) C:\Xisom 로 이동한 뒤 LogClear.txt 텍스트 파일을 생성한다.
2) 아래 명령어를 텍스트 파일에 작성한 뒤 저장한다.
- forfiles /P logs /S /M *.log /D -%1 /C "cmd /c del @file" 입력
3) 저장한 텍스트 파일(.txt)의 확장자를 .bat으로 변경한다.
2. X-SCADA의 Script를 활용한 .bat 파일 실행
1) X-SCADA Designer 실행 후 보기(View) > 스크립트 편집(Script Editor)을 클릭한다.
2) 생성된 팝업에서 아래와 같이 스크립트를 작성한다.
- 생성한 .bat파일을 정시마다 실행시켜 90일 이전 파일이 존재하면 삭제하도록 한다.
$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)를 한다.
2) 새로 추가한 장치를 마우스 오른쪽 클릭한 뒤 기타 연결 추가(New Other)를 한다.
3) 속성(Properties) > 일반(General) > 프로토콜(Protocol) 에서 Execute를 선택한다.
4) Execute > Path 에서 미리 생성한 LogClear.bat 파일을 설정한다.
5) 스캔시간(ScanTime)을 3600000 (1시간)으로 설정한다.
- 스캔시간은 millisecond 단위이기 때문에, 1시간으로 설정하기 위해 3600000으로 설정했다.
6) 태그 탐색기(Tag Explorer)에서 문자열 태그 추가(New String)를 한다.
7) 생성한 string_1 태그의 속성(Properties)에서 장치(Device)와 장치내 주소(DeviceAddress)를 설정한다.
- 장치(Device) : 방금 생성한 장치 이름을 찾아서 설정
- 장치내 주소(DeviceAddress) : 90일 이전의 Logs들을 모두 지우려면 90이라고 입력
참고 : forfiles | Microsoft Learn