У меня есть приложение, работающее на ВМ 100.111. . *. Я могу использовать приведенные ниже команды, чтобы подключиться к виртуальной машине и войти в docker bash, чтобы прочитать файл журнала, который доступен по пути /logs/MTServices/applogs/application.log
. Шаги:
- Do s sh до VM
ssh -i ~/.ssh/dev_rsa infy@100.111.**.***
![enter image description here](https://i.stack.imgur.com/g5gVB.png)
![enter image description here](https://i.stack.imgur.com/M7qHw.png)
После подключения выполните команду docker sudo docker exec -it MTWLS bash
![enter image description here](https://i.stack.imgur.com/HmaP0.png)
Теперь я нахожусь в docker bash и я могу использовать команду, чтобы изменить каталог для чтения журналов. ![enter image description here](https://i.stack.imgur.com/gQafI.png)
Пока все хорошо. Теперь, когда я создаю сценарий оболочки для вышеуказанных команд и запускаю его, он, похоже, не работает. Ниже приведен сценарий.
#!/bin/bash
echo "starting"
VM_Host="100.111.**.***"
echo $VM_Host
pattern="Performing asynchronous operation for tenant"
echo $pattern
WLSType="MTWLS"
echo $WLSType
echo "running ssh"
ssh -i ~/.ssh/devus1_rsa opc@${VM_Host}
if [ "$?" -eq "0" ]
then
echo "last command was success"
sudo docker exec -it ${WLSType} bash
echo $(pwd)
fi
if [ "$?" -eq "0" ]
then
cd /logs/ETLServices/applogs
echo $(pwd)
fi
grep -s "$pattern" application_structured.log