Create a script to output logs from containers (#44)

This commit is contained in:
Evgeniy Antonyuk 2023-11-10 19:12:32 +05:00 committed by GitHub
parent a42eefa668
commit 96d9c65e05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,33 @@
#!/bin/bash
set -e
PRODUCT="docspace"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DOCKERCOMPOSE=$(dirname "$DIR")
if [ -f "${DOCKERCOMPOSE}/docspace.yml" ]; then
:
elif [ -f "/app/onlyoffice/${PRODUCT}.yml" ]; then
DOCKERCOMPOSE="/app/onlyoffice"
else
echo "Error: yml files not found." && exit 1
fi
FILES=("${PRODUCT}" "notify" "healthchecks" "proxy" "ds" "rabbitmq" "redis" "elasticsearch" "db")
LOG_DIR="${DOCKERCOMPOSE}/logs"
mkdir -p ${LOG_DIR}
echo "Creating ${PRODUCT} logs to a directory ${LOG_DIR}..."
for FILE in "${FILES[@]}"; do
SERVICE_NAMES=($(docker-compose -f ${DOCKERCOMPOSE}/${FILE}.yml config --services))
for SERVICE_NAME in "${SERVICE_NAMES[@]}"; do
if [[ $(docker-compose -f ${DOCKERCOMPOSE}/${FILE}.yml ps -q ${SERVICE_NAME} | wc -l) -eq 1 ]]; then
docker-compose -f ${DOCKERCOMPOSE}/${FILE}.yml logs ${SERVICE_NAME} > ${LOG_DIR}/${SERVICE_NAME}.log
else
echo "The ${SERVICE_NAME} service is not running"
fi
done
done
echo "OK"