NCP에서 Secuirty Monitoring 상품을 사용할 때, 사용하는 보안상품의 Log를 Object Storage 버킷으로 내려받을 수 있다.
버킷에 모이는 Log들을 Linux 서버에 다운받고, 각 Log 파일들을 원하는 이름으로 변경하여 서버의 특정 위치에 보관하고 싶을 때 아래와 같이 스크립트를 작성하여 crontab에 등록하여 자동화 시킬 수 있다.
아래 디렉토리 이름은 변경하여 원하는 이름으로 변경하여 사용 가능. (스크립트 내용과 예시 사진들의 디렉토리가 다름)
버킷에서 Secuirty Monitoring 로그를 받아올 디랙토리 위치 : /app/SMlog
로그 결과 파일 리네임 후 이동할 위치 : /app/SMlogresult
스크립트 작성 위치 : /data/script
1. 버킷에서 로그 다운로드
vi /data/script/smlogdown.sh
#!/bin/bash
# 로그 파일 경로 지정
logFile="/data/script/log/logdown_log_$(date +\%Y\%m\%d_\%H\%M).log"
# 함수를 이용하여 로그 기록
log() {
local logMessage=$1
echo "$(date +\%Y-\%m-\%d\_\%H:\%M:\%S ) $logMessage" >> "$logFile"
}
log "스크립트를 실행합니다."
aws --endpoint-url https://kr.object.ncloudstorage.com s3 sync s3://버킷이름 /app/SMlog >> "$logFile" 2>&1
log "스크립트를 종료합니다."
(서버에 aws cli가 설치되어 있어야 합니다.)
[결과물 예시]
지정한 위치에 스크립트 작업에 대한 로그파일이 생성되며, 로그 내용을 보면 aws cli 명령어에 대한 작업내용을 확인 할 수 있다.
2. 다운로드된 로그의 이름 변경 및 특정 디랙토리로 이동
vi /data/script/smlogrename.sh
#!/bin/bash
# 로그 파일 경로 지정
logFile="/data/script/log/rename_log_$(date +\%Y\%m\%d_\%H\%M).log"
# 함수를 이용하여 로그 기록
log() {
local logMessage=$1
echo "$(date +\%Y-\%m-\%d\ ) $logMessage" >> "$logFile"
}
log "스크립트를 실행합니다."
# /app/SMlog 디렉토리 내의 모든 디렉토리 가져오기
directories=$(find /app/SMlog -type d -name "CLA-*")
for dir in $directories; do
# 디렉토리명에서 날짜와 시간 추출
dateTimeString=$(basename $dir | sed 's/CLA-//')
# 날짜와 시간을 형식에 맞게 재구성
year=${dateTimeString:0:4}
month=${dateTimeString:4:2}
day=${dateTimeString:6:2}
dateTime="$year$month$day"
# SearchResult1.json 파일의 경로 생성
jsonFilePath="$dir/SearchResult1.json"
# 만약 SearchResult1.json 파일이 존재하면 이름 변경 후, 특정 디렉토리에 이동
if [ -f "$jsonFilePath" ]; then
newJsonFileName="SearchResult1_$dateTime.json"
mv "$jsonFilePath" "$dir/$newJsonFileName"
mv "$dir/$newJsonFileName" "/app/SMlogresult/"
log "파일 이동: $dir/$newJsonFileName -> /app/SMlogresult/"
fi
done
log "스크립트를 종료합니다."
[결과물 예시]
지정한 위치에 스크립트 작업에 대한 로그파일이 생성되며, 로그 내용을 보면 변환된 파일이 -> 지정한 디렉토리로 이동했음을 알 수 있다.
'Script' 카테고리의 다른 글
[Python] MySQL 데이터 반복 입력 (0) | 2024.06.12 |
---|---|
[Window Script] 데이터 백업 및 로그 저장 스크립트 (0) | 2023.01.11 |
[Linux Script] 반복 명령어를 통한 NCP 리소스 생성 (0) | 2023.01.11 |