로그 압축 및 삭제 스크립트
- 어제일자 로그 압축
- 어제일자 로그 삭제
- crontab 에 등록
#!/bin/bash
# 로그 디렉토리
LOG_DIR="/var/log/myapp"
DATE_YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
LOG_FILE="$LOG_DIR/app.log.$DATE_YESTERDAY"
# 파일이 존재하는지 확인
if [ -f "$LOG_FILE" ]; then
echo "[$(date)] 로그 압축 시작: $LOG_FILE"
# 압축 시 -k 옵션 미사용: 압축 후 원본 자동 삭제
gzip "$LOG_FILE"
# 압축 성공 여부 확인
if [ -f "$LOG_FILE.gz" ]; then
echo "[$(date)] 압축 성공: $LOG_FILE.gz"
else
echo "[$(date)] 압축 실패!"
fi
else
echo "[$(date)] 해당 날짜 로그 파일 없음: $LOG_FILE"
fi
crontab 에 등록
# crontab -e
0 0 * * * /path/to/log_rotate_compress.sh > /dev/null