Для этого удобно использовать shell-скрипт
Заходим по SSH на ВМ с платформой. Далее, нам нужен скрипт:
#!/bin/bash
rm /home/logs -fr
DOCKER_CONTAINER_NAMES=`docker ps --format '{{.Names}}'`
SERVICES=($DOCKER_CONTAINER_NAMES)
cd /home
mkdir -p logs
cd logs
for service in ${SERVICES[@]}
do
echo -e "----\033[0;31mCopying logs from $service\033[0m----\n"
mkdir -p $service
docker cp $service:/var/log/. $service/.
docker logs $service > $service/${service}_stdout.log 2>&1
done
cp -r /opt/ispsystem/*/install.log install.log
ARCHIVE_NAME="logs_$(date +'%Y_%m_%d_%H_%M_%S').tar.gz"
tar -cvzf /home/$ARCHIVE_NAME -C /home/logs .
Загружаем его на ВМ через SCP либо открываем пустой файл через MC и вставляем код напрямую.
Выставляем права на файл:
chmod a+x collector.sh
Запускаем:
bash collector.sh
Логи будут сохранены в "/home/logs/", а архив появится в "/home/"