Opensource

Docker-compose Logrotate 적용

KK_Ryong 2023. 3. 10. 17:02

cd /home/ec2-user/docker/docker-logs
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■vi docker  (권한은 644 또는 640)■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
/var/lib/docker/containers/*/*.log {
  rotate 100
  daily
  compress
  ifempty
  missingok
  copytruncate
  create
  dateext
  lastaction
    /home/ec2-user/docker/docker-logs/docker-logrotate.sh
  endscript
}
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■vi docker-logrotate.sh (권한 755로 줄것) ■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
#!/bin/bash

ARRAY=($(ls /var/lib/docker/containers/*/*.gz))

for file in ${ARRAY[@]}; do
  FILE=${file##*/}
  CONTAINER_ID=$(echo $FILE | awk -F'-' '{print $1}')
  DIRECTORY_NAME=$(docker ps -a -f ID=$CONTAINER_ID --format "{{.Names}}")

  mkdir -p /home/ec2-user/docker/docker-logs/$DIRECTORY_NAME
  mv /var/lib/docker/containers/$CONTAINER_ID/$FILE /home/ec2-user/docker/docker-logs/$DIRECTORY_NAME
done
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

 

수동 실행 
logrotate -fv /home/ec2-user/docker/docker-logs/docker