Linux/Shell Script

Linux Access log 일 단위 자동압축 쉘 스크립트

Pydole 2019. 10. 16. 20:53

리눅스 파일시스템 용량이 넉넉하면 괜찬지만 지속적인 용량관리가 필요하다면 로그를 압축보관할 필요가 있다.

이번 포스팅은 엑세스 로그가 일 단위로 생성되면, 전일(yesterday) 로그를 자동으로 백업할 수 있는 간단한

쉘 스크립트를 알아보겠다.

 

 


date명령어를 이용하여 전일 날짜를 출력

 

date명령어의 -d 옵션을 이용하여 전일 날짜 출력. (현재일 2019년 10월 16일 기준)

 

# date -d 'yesterday'
Tue Oct 15 07:37:07 EDT 2019
 

 

로그포맷(yyyy-dd-mm)에 맞게 출력

# date +%Y'-'%m'-'%d -d 'yesterday'
2019-10-15

 


로그포맷에 맞는 gzip 압축 명령어 완성하기

 

대상파일 : localhost_access_log.2019-10-15.txt

 

# echo gzip localhost_access_log.`date +%Y'-'%m'-'%d -d 'yesterday'`.txt
gzip localhost_access_log.2019-10-15.txt

 

 

 

# cat accesslog_auto_compress.sh

#!/bin/bash

echo 'yesterday accesslog auto compression'
gzip localhost_access_log.`date +%Y'-'%m'-'%d -d 'yesterday'`.txt
echo 'done'

 

 

스크립트 실행

 

yesterday accesslog auto compression
done

localhost_access_log.2019-10-15.txt.gz