Powershell Executa a saída do processo em uma janela separada para cada linha

1

Eu tenho o seguinte script powershell que estou usando para executar um comando Plink em 3 dos meus servidores remotamente (eu tenho todos os privilégios corretos)

$KAFKA_PATH = "/opt/kafka"
$KAFKA_PROP_FILE = $KAFKA_PATH + "/config/server.properties"
$ZK_PROP_FILE = $KAFKA_PATH + "/config/zookeeper.properties"
$KAFKA_START = $KAFKA_PATH + "/bin/kafka-server-start.sh"
$ZK_START = $KAFKA_PATH + "/bin/zookeeper-server-start.sh"
echo Y | plink -i $HOME\Documents\keys\authorized_key_priv.ppk secret1server -t "bash $ZK_START $ZK_PROP_FILE &"
timeout /t 5                                                                                            
echo Y | plink -i $HOME\Documents\keys\authorized_key_priv.ppk secret2server -t "bash $ZK_START $ZK_PROP_FILE &"
timeout /t 5                                                                                                                                 
echo Y | plink -i $HOME\Documents\keys\authorized_key_priv.ppk secret3server -t "bash $ZK_START $ZK_PROP_FILE &"
timeout /t 10                                                                                            
echo Y | plink -i $HOME\Documents\keys\authorized_key_priv.ppk secret1server -t "bash $KAFKA_START $KAFKA_PROP_FILE &"
timeout /t 5                                                                                             
echo Y | plink -i $HOME\Documents\keys\authorized_key_priv.ppk secret2server -t "bash $KAFKA_START $KAFKA_PROP_FILE &"
timeout /t 5                                                                                             
echo Y | plink -i $HOME\Documents\keys\authorized_key_priv.ppk secret3server -t "bash $KAFKA_START $KAFKA_PROP_FILE &"

mas não consigo ver os logs corretamente, alguns deles parecem ficar congelados e fazem com que os subsequentes não sejam executados corretamente. Tudo que eu quero é que cada um dos comandos plink seja executado em uma janela separada para que eu possa ver cada um deles errando ou executando corretamente. Eu entendo que o "e" comercial (&) significa que estou dememonizando isso, mas tudo bem. Posso removê-lo se precisar ver as saídas do console.

Qualquer ajuda será apreciada.

Obrigado,

    
por hagubear 10.07.2018 / 13:12

2 respostas

1

hmm .... bobo eu é tudo o que posso dizer

O que eu não entendi é que eu queria isso como um comando (remoto / local não importa), então ele deve ser tratado como um comando. Quando fiz o seguinte, vi uma nova janela com a saída do console

echo Y | cmd /c start plink -i $HOME\Documents\keys\authorized_key_priv.ppk secret1server -t ""bash $KAFKA_START $KAFKA_PROP_FILE ""&"""

funcionou como esperado. Mas pode ser que esta não seja a solução certa?

    
por 10.07.2018 / 13:19
0

Veja se alguma das informações desta discussão fornece outras ideias.

Windows-to-Linux: Execute a shell script as user process (as bkgrnd) on remote machines

Embora seu objetivo seja um pouco diferente do que o do OP.

    
por 11.07.2018 / 00:15

Tags