No creo que haya una manera fácil de hacer lo que quería, es decir, escribir en archivos separados en su host local de un script que se ejecuta en una máquina remota.
Puede canalizar fácilmente la salida del script a un archivo local, aunque:
ssh host << EOF > output_file
some commands
to be executed
EOF
Con eso, puede reestructurar el script para que se ejecute ssh
varias veces (, esto aumentará la sobrecarga ssh
, pero puede mitigar la mayor parte usando ControlPersist
en la configuración ssh
archivo ).
Entonces, en su lugar, terminará con algo como esto (pseudo -bash):
echo "get the output of var script" | ssh host > var_value
if var read from the file is more than zero; then
echo "the thing you want" | ssh host >> /find.txt
else
echo "the other thing you want" | ssh host >> /agentnotthere.txt
fi
Esto debería adaptarse perfectamente a su caso de uso:)
Mis dos centavos sobre el guión en sí:
ps aux | grep -v grep | grep something
, puede usar pgrep
y pkill
. Están en estándar coreutils
, por lo que, a menos que use sistemas realmente antiguos, deberían estar disponibles en ellos Я думаю, что ваш сценарий инициализации слишком минимален для загрузки. Ядра работают с /proc и /sys, поэтому он должен включать:
mount -t proc none /proc
mount -t sysfs none /sys