1

У меня есть следующий скрипт powershell, который я использую для удаленного запуска команды Plink на 3 из моих серверов (у меня есть все правильные права)

$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 &"

но я не могу видеть журналы правильно, также некоторые из них, кажется, зависли и заставляют последующие работать неправильно. Все, что я хочу, это чтобы каждая из команд plink запускалась в отдельном окне, чтобы я мог видеть, что каждая из них выдает ошибку или работает правильно. Я понимаю, что амперсанд (&) означает, что я демонизирую его, но ничего страшного, я могу удалить его, если мне нужно увидеть выходы консоли.

Любая помощь будет оценена.

Спасибо,

2 ответа2

1

хм .... глупый я это все что я могу сказать

Что я не понял, так это то, что я хотел, чтобы это была команда (удаленная / локальная не имеет значения), поэтому она рассматривается как команда. Когда я сделал следующее, я увидел новое окно с выводом на консоль

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

это сработало, как и ожидалось. Но может быть, это не правильное решение?

0

Посмотрите, дает ли какая-либо информация в этом обсуждении другие идеи.

Windows-to-Linux: выполнить сценарий оболочки как пользовательский процесс (как bkgrnd) на удаленных компьютерах

Хотя ваша цель немного отличается от ОП.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .