본문으로 바로가기
반응형
아래는 특정 경로의 파일을 확인, 파일크기를 체크하여 파일크기에 따라 로깅을 하는 쉘스크립트입니다.

#!/bin/bash

# ANSI 색상 코드를 정의합니다.
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# 현재 날짜를 YYYYMMDD 형식으로 가져옵니다.
TODAY=$(date +%Y%m%d)

# 체크할 파일 경로를 정의합니다.
DIR="/aaa/bb/cc/"
FILE1="DDDD.${TODAY}"
FILE2="EEEE.${TODAY}"

# 첫 번째 파일을 체크합니다.
if [ -s "${DIR}${FILE1}" ]; then
# 파일 크기가 0보다 크면 마지막 5줄을 출력합니다.
echo -e "${YELLOW}$(tail -n 5 "${DIR}${FILE1}")${NC}"
else
# 파일 크기가 0이면 "check OK"를 출력합니다.
echo -e "${GREEN}check OK${NC}"
fi

# 두 번째 파일을 체크합니다.
if [ -s "${DIR}${FILE2}" ]; then
# 파일 크기가 0보다 크면 마지막 5줄을 출력합니다.
echo -e "${YELLOW}$(tail -n 5 "${DIR}${FILE2}")${NC}"
else
# 파일 크기가 0이면 "check OK"를 출력합니다.
echo -e "${GREEN}check OK${NC}"
fi


위 코드는, 다음과 같은 기능을 합니다.
처음에 쉘 스크립트가 실행되는 것을 알립니다. #!/bin/bash 라인은 스크립트를 실행하는 쉘을 지정하는 shebang입니다.

그 다음으로, ANSI 색상 코드를 GREEN, YELLOW, NC라는 변수에 할당합니다. 이 코드들은 나중에 텍스트를 콘솔에 녹색, 노란색으로 출력할 때 사용됩니다. NC는 색상을 초기화하는 데 사용됩니다.

date +%Y%m%d 명령을 이용해 현재 날짜를 YYYYMMDD 형태로 가져와서 TODAY라는 변수에 할당합니다.

체크할 파일들의 경로를 설정합니다. 파일 이름은 DDDD.날짜와 EEEE.날짜로 설정됩니다. 여기서 '날짜'는 앞에서 설정한 TODAY 변수입니다.

첫 번째 파일(DDDD.날짜)을 확인합니다. 만약 이 파일의 크기가 0보다 크면, 파일의 마지막 5줄을 노란색으로 출력합니다. 그렇지 않고 파일의 크기가 0이면, "check OK"를 녹색으로 출력합니다.

두 번째 파일(EEEE.날짜)도 같은 방법으로 체크합니다.

따라서 이 스크립트는 특정 경로의 두 개의 파일을 체크하여, 파일의 크기에 따라 마지막 5줄을 출력하거나 "check OK"를 출력하는 기능을 수행합니다. 출력되는 텍스트는 파일의 크기에 따라 다른 색상으로 표시됩니다.Random Photo

반응형