상세 컨텐츠

본문 제목

리눅스 일일 로그 한달 압축 쉘 스크립트

OS

by husks 2023. 2. 19. 02:04

본문

반응형

한 달 동안 일일 로그 파일을 하는 쉘 스크립트 입니다.

 

xml_send.log.2023-01-01 이런 형식의 로그라고 가정하고 작성하겠습니다.

 

1. vi 명령을 사용하여 새 파일을 만듭니다

vi monthly_log_compress.sh

2. 파일에 다음 코드를 추가합니다.

#!/bin/bash

# 현재 날짜에서 한달 전 날짜를 계산합니다.
last_month=$(date -d "-1 month" "+%Y-%m")

# 로그 디렉토리 경로를 지정합니다.
log_dir="/home1/irteam/apps/local/batch/xml_send_copyright_or/log"

# 이전달 로그 파일들을 압축합니다.
cd "$log_dir"
tar -cvzf "xml_send_logs_$last_month.tar.gz" "xml_send.log.$last_month-"*

# 압축한 로그 파일들을 삭제합니다.
rm "xml_send.log.$last_month-"*

3. 파일을 저장하고 닫습니다.

 

4. chmod 명령을 사용하여 파일을 실행 가능하게 만드십시오.

chmod +x monthly_log_compress.sh

5. 이제 다음 명령을 사용하여 스크립트를 실행할 수 있습니다.

./monthly_log_compress.sh

이렇게 하면 /home1/irteam/apps/local/batch/xml_send_copyright_or/log 디렉토리에서 이전 달에 생성된 xml_send.log.2023-01-01 ~ xml_send.log.2023-01-31인 모든 로그 파일이 압축되어 xml_send_logs_2023-01.tar.gz 로 압축 됩니다.

 

crontab에 쉘파일 등록하면 관리가 편합니다. (매월 5일 오후 6시 실행)

0 18 5 * * /path/to/monthly_log_compress.sh
반응형

'OS' 카테고리의 다른 글

서버의 외부IP 확인  (0) 2023.09.12
cURL POST방식으로 json 데이터 전송  (0) 2023.03.13
사설, 공인 아이피 확인  (0) 2021.03.08
리눅스 명령어 계속 실행  (0) 2021.01.11
shell java 실행 명령어 예제  (0) 2020.12.10

관련글 더보기

댓글 영역