[리눅스] 로그 파일 관리 스크립트

리눅스 시스템의 로그 파일은 시간이 지남에 따라 커져서 디스크 공간을 많이 차지할 수 있습니다. 로그 파일을 주기적으로 관리하는 스크립트를 만들어 보겠습니다.

1. 로그 파일 관리 스크립트

다음은 Bash 스크립트로 작성된 간단한 로그 파일 관리 스크립트의 예시입니다.

#!/bin/bash

LOG_DIR="/var/log"
MAX_SIZE="50M"

cd $LOG_DIR

for file in $(ls *.log)
do
  size=$(du -BM $file | cut -f1)
  if [[ "$size" > "$MAX_SIZE" ]]
  then
    echo "Archiving $file"
    mv $file $file.old
    gzip $file.old
  fi
done

이 스크립트는 /var/log 디렉토리에 있는 모든 .log 확장자를 가진 로그 파일의 크기를 확인하여 지정된 최대 크기(MAX_SIZE)보다 크면 해당 파일을 압축한 후 확장자를 .old.gz로 변경합니다.

2. 스크립트 사용 방법

위 스크립트를 다음과 같이 저장한 후 실행 권한을 줍니다.

$ nano log_maintenance.sh
(스크립트 복사 후 붙여넣기)
$ chmod +x log_maintenance.sh

스크립트를 주기적으로 실행하고 싶다면 cron을 사용할 수 있습니다.

$ crontab -e

다음과 같이 cron 작업을 등록합니다.

0 3 * * * /path/to/log_maintenance.sh

이 예시에서는 매일 새벽 3시에 log_maintenance.sh 스크립트가 실행됩니다.

3. 마치며

로그 파일 관리는 시스템 관리에서 중요한 부분이며, 올바른 로그 파일 관리는 디스크 공간을 절약할 뿐만 아니라 시스템 성능을 유지하는 데 도움이 됩니다. 이러한 작업을 자동화하여 시스템 관리를 효율적으로 할 수 있습니다.

위 예시는 간단한 예시이므로 실제 환경에 맞게 스크립트를 수정하여 사용해야 합니다.