[리눅스] 로그 파일 관리 스크립트
리눅스 시스템의 로그 파일은 시간이 지남에 따라 커져서 디스크 공간을 많이 차지할 수 있습니다. 로그 파일을 주기적으로 관리하는 스크립트를 만들어 보겠습니다.
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. 마치며
로그 파일 관리는 시스템 관리에서 중요한 부분이며, 올바른 로그 파일 관리는 디스크 공간을 절약할 뿐만 아니라 시스템 성능을 유지하는 데 도움이 됩니다. 이러한 작업을 자동화하여 시스템 관리를 효율적으로 할 수 있습니다.
위 예시는 간단한 예시이므로 실제 환경에 맞게 스크립트를 수정하여 사용해야 합니다.