반응형
아래는 특정 경로의 파일을 확인, 파일크기를 체크하여 파일크기에 따라 로깅을 하는 쉘스크립트입니다.
#!/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"를 출력하는 기능을 수행합니다. 출력되는 텍스트는 파일의 크기에 따라 다른 색상으로 표시됩니다.
#!/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"를 출력하는 기능을 수행합니다. 출력되는 텍스트는 파일의 크기에 따라 다른 색상으로 표시됩니다.

반응형
'Programing > Linux' 카테고리의 다른 글
리눅스 쉘 스크립트에서의 여러줄 주석 (1) | 2023.06.01 |
---|---|
쉘스크립트에서 echo 에 색을 칠하는 방법 (0) | 2023.06.01 |
리눅스에서 java 설치 (0) | 2017.03.15 |
리눅스 버츄얼박스 관련 오류해결 (0) | 2017.03.15 |