Пользовательские файлы initramfs не обнаружены.

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 sshvarias veces (, esto aumentará la sobrecarga ssh, pero puede mitigar la mayor parte usando ControlPersisten la configuración ssharchivo ).

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í:

  • Ansible o alguna de las otras herramientas de administración de configuración probablemente sea más adecuada para esta tarea en lugar de escribir scripts bash
  • El uso de contraseñas SSH en lugar de autenticación de claves es malo desde el punto de vista de la seguridad. Pero he estado en situaciones en las que es imposible implementar eso debido a la política de la empresa/antiguo material incrustado que no lo admite/etc.
  • En lugar de usar el modelo anterior ps aux | grep -v grep | grep something, puede usar pgrepy pkill. Están en estándar coreutils, por lo que, a menos que use sistemas realmente antiguos, deberían estar disponibles en ellos
1
12.07.2019, 17:21
1 ответ

Я думаю, что ваш сценарий инициализации слишком минимален для загрузки. Ядра работают с /proc и /sys, поэтому он должен включать:

mount -t proc none /proc
mount -t sysfs none /sys
1
27.01.2020, 23:41

Теги

Похожие вопросы