Docker-compose Logrotate 적용
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