Question PuTTY n'exécute que la première commande dans un script spécifié par -m


J'essaie de faire une sauvegarde automatique de notre serveur Avocent Console.

Contenu de backup.cmd:

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

Contenu 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

Tout fonctionne bien, mais j'ai un problème. PuTTY ne vient que pour exécuter la commande cli, toutes les autres commandes ne sont pas exécutées.

Est-il possible de faire une courte pause après chaque commande?

Ou est-ce parce que le cli est une interface séparée dans l'Avocent?

Je vous remercie


4
2017-08-25 19:08


origine


De quel type de système s'agit-il? Qu'est-ce que la commande cli? Si c'est bash, vous ne devriez pas avoir à retarder les commandes. - Aaron
Quel système est le serveur SSH? Je présume Windows. Si oui, à quoi la commande CLI est-elle destinée? - Jared Allard
Si vous dites que le cli commande lance sa propre pseudo-shell, alors oui, c'est le problème. Le vrai shell attend probablement le cli processus à terminer avant de continuer avec les autres commandes. Si vous deviez quitter le cli application serait probablement exécuter les autres commandes. - heavyd
@heavyd aucune idée de son programme cli? - barlop
Ressemble à un Avocent Utilitaire de configuration de ligne de commande - heavyd


Réponses:


Si la cli démarre un "nouveau shell", le shell principal attend sa sortie et n'exécute jamais vos autres commandes.

Bien que vous vouliez apparemment exécuter vos commandes dans le cli shell, pas après (peut-être sauf le second exit, qui devrait probablement sortir du shell principal).

Pour cela, vous devez utiliser une syntaxe appropriée de votre système ou un paramètre de ligne de commande approprié de cli. Votre serveur semble être un système propriétaire, donc je ne connais pas la syntaxe correcte. Je n'ai trouvé aucun paramètre de ligne de commande approprié de cli dans la documentation que j'ai trouvé en ligne.

Sur Linux, une solution générique serait:

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

1
2017-08-26 05:08





merci à tous pour réponse et aide. Après tout, j'ai trouvé une solution. Le serveur de console d'avocats contient 2 commandes alternatives. Qui fait exactement ce dont j'ai besoin.

saveconf --help restoreconf --help

<

merci + meilleures salutations schtebo


0
2017-08-29 20:04