PuTTY solo ejecuta el primer comando en un script especificado por -m


4

Intento hacer una copia de seguridad automática de nuestro servidor de la consola Avocent.

Contenido de backup.cmd:

putty.exe -ssh root@acs01.NULL.local -pw secretpw -m acs01.txt

Contenido de acs01.txt:

cli
cd system_tools/
save_configuration
set ip_address=10.0.0.1
set path_and_filename=/avocent/acs01
set username=ftpacs01
set password=anothersecretpw
save
finish
exit
exit

Todo funciona bien, pero tengo un problema. PuTTY viene solo para ejecutar el comando cli, todos los demás comandos no se ejecutan.

¿Es posible hacer un breve descanso después de cada comando?

¿O es porque clihay una interfaz separada en Avocent?

Gracias


2
¿Qué tipo de sistema es este? ¿Cuál es el comando cli? Si esto es bash, no debería necesitar retrasos entre los comandos.
Aaron

¿En qué sistema está el servidor SSH? Estoy suponiendo que Windows. Si es así, ¿a qué se dirige el comando CLI?
Jared Allard

1
Si está diciendo que el clicomando inicia su propio pseudo-shell, entonces sí, este es el problema. Es probable que el shell real esté esperando clique se completen los procesos antes de continuar con los otros comandos. Si clituviera que salir de la aplicación, probablemente ejecutaría los otros comandos.
heavyd

@heavyd alguna idea de cuál es su programa cli?
barlop

Respuestas:


1

Si clicomienza un "nuevo shell", el shell maestro espera a que salga y nunca ejecuta sus otros comandos.

Sin embargo, aparentemente desea ejecutar sus comandos dentro del clishell, no después (tal vez excepto el segundo exit, que probablemente debería salir del shell maestro).

Para eso debe usar una sintaxis adecuada de su sistema o un parámetro de línea de comandos apropiado de cli. Su servidor parece ser un sistema propietario, por lo que no sé la sintaxis correcta. Tampoco he encontrado ningún parámetro de línea de comandos apropiado clien la documentación que he encontrado en línea.

En el sistema Linux, una solución genérica sería:

cli <<EOF
cd system_tools/
save_configuration
set ip_address=10.0.0.1
set path_and_filename=/avocent/acs01
set username=ftpacs01
set password=anothersecretpw
save
finish
exit
EOF
exit

0

Gracias a todos por la respuesta y ayuda. Después de todo, encontré una solución. El servidor de consola avocent contiene 2 comandos alternativos. Que hacen exactamente lo que necesito.

saveconf --help restoreconf --help

<

thx + saludos cordiales schtebo

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.