한 달 동안 일일 로그 파일을 하는 쉘 스크립트 입니다.
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
서버의 외부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 |
댓글 영역