Collez plusieurs commandes à Mastic - processus en série?
J'ai environ 3000 commandes individuelles que j'ai besoin pour s'exécuter sur un système via Putty. Je fais cela en copiant ~100 des commandes et de les coller dans un mastic de la session SSH. Il fonctionne, cependant le problème est que le Mastic ne pas les traiter en série et la sortie devient déformé.
Est-il un moyen de faire Putty processus de chaque commande, attendre un retour, puis procéder à la prochaine? L'invite de commande Windows, et je pense il y a un moyen de le faire avec du Mastic.
Oui, je sais que je pourrais mettre ça dans un script bash, mais en raison de circonstances hors de mon contrôle, ce qui doit être fait à l'aide de SSH et d'une manière qui peut être surveillé fur et à mesure et connecté.
OriginalL'auteur user3329270 | 2014-02-19
Vous devez vous connecter pour publier un commentaire.
Je le fais tout le temps. Mettez vos commandes dans un
(
)
bloc, qui va l'exécuter comme un shell interne est exécuté, parfaitement tout en série. Je suis en cours d'exécution de Windows PuTTY et de la connexion à Linux et serveurs AIX. L'essayer.Dans la pratique, je pourrais avoir une énorme charge de nombreux 100s de relevés que j'ai envie de courir, dans Notepad++ ou autre. J'ai donc copier dans le presse-papiers, puis dans PuTTY:
EDIT: Si vous souhaitez vous connecter la sortie de chacun de vos relevés individuellement, vous pourriez faire quelque chose comme ceci:
ou si vous voulez juste un gros flux de sortie, vous pouvez intercaler des séparateurs pour faciliter la lecture plus tard:
EDIT2: une Autre variation à l'aide d'une fonction en ligne. Tous les à la pâte de mesure dans le Mastic, avec une parfaite série en cours d'exécution, l'exploitation forestière comme command1:output1,commande2:output2,... , et capable de conduire SQL*Plus.
Exemple de sortie:
ajouté EDIT2 ci-dessus pour vous donner de commande:résultat paires et semble travailler avec SQL*Plus. Pas sûr au sujet de votre exacte Oracle mise en page, telles que la base de données Oracle sur le même serveur que vous êtes en SSH?
Cette réponse n'a pas arrêter de m'aider avec mon problème d'origine donc je n'ai pas prix de l'original de la bounty. Mais il m'a aidé à résoudre un autre problème, je vais donc vous donner une prime à ce moment (en 23 heures, quand je suis autorisé à attribuer).
OriginalL'auteur Joshua Huber
Juste une idée ici, le Mastic est livré avec un outil de ligne de commande appelé Plink. Vous pouvez écrire un script sur votre machine windows qui crée une connexion vers le serveur distant avec Plink, puis analyse la liste de vos commandes une à une et les envoie.
Cela devrait ressembler exactement le même pour le serveur distant (qui je suppose est ce qui fait la journalisation), tout en vous permettant d'y avoir un peu plus de contrôle que de copier-coller des blocs de commandes.
Ainsi, l'exploitation forestière sur la machine locale devrait encore voir une connexion SSH. Plink va certainement vous permettre de capturer les serveurs de réponse aux commandes, vous êtes en cours d'exécution.
Si proche, mais plink a un problème en ce qu'elle ne fera pas l'un Mastic de style de journalisation, même si la journalisation est activée dans la session enregistrée. Je peux rediriger la sortie vers un fichier journal (c'est à dire >>c:\temp\log.txt), mais les erreurs retournées par le serveur distant n'apparaissent pas dans le journal, seuls les messages de réussite.
Cela étant le cas, vous pourriez aller le parcours et installer CYGWIN, cela vous donnera une normale shell bash sous windows et le vrai client SSH (www.cygwin.com). Alternativement, il peut être plus facile pour écrire rapidement un script pour faire cela avec une langue que vous êtes familier avec (python, perl, etc)
Fini la simple création d'un script shell, et d'avoir accès à BASH sur le serveur distant. La journalisation ne fonctionne toujours pas tout à fait comme j'en avais besoin, mais nous avons fait ce travail. Merci beaucoup pour l'aide.
OriginalL'auteur binaryatrocity
Je ne sais pas pourquoi vous ne pourriez pas utiliser Plink, mais vous pouvez faire un fichier batch avec Notepad++.
Exécutez le fichier de commandes:
Notepad++: http://notepad-plus-plus.org/
Plink: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Fichiers Batch: http://www.robvanderwoude.com/batchfiles.php
Afficher & Redirection de Sortie: http://www.robvanderwoude.com/battech_redirection.php
OriginalL'auteur Diblo Dk
Peut-être la réponse que vous cherchez est ici.
Ici une copie de la réponse je pense que peut-être intéressant pour vous :
OriginalL'auteur DavidK
J'ai eu une demande similaire il y a quelques années, et j'ai écrit le code pour se connecter à SSH et exécuter les commandes.
Il y a beaucoup de SSH bibliothèques disponibles pour chaque langage de programmation(j'ai utilisé de Java). Vous pouvez simplement vous connecter à SSH à l'aide de simples quelques lignes de code, puis lit les commandes à partir de votre fichier et de l'exécuter de manière séquentielle. Vous pouvez vous connecter à l'ensemble du contenu et le tour est joué!
Laissez-moi savoir si vous avez besoin de plus de détails sur cette.
OriginalL'auteur Paramesh
Dans la pâte que j'ai, je viens de coller le dans la et il fonctionne.
Ouvrir le bloc-notes
Tapez votre liste de commandes
Mettez en surbrillance le bloc-notes
ctr + c (ou clic droit, copier)
cliquez sur votre mastic de fenêtre
droit-cliquez une fois, de l'endroit où vous tapez vos commandes
Vous devriez voir toutes les commandes insérées dans votre boîte d'entrée de
appuyez sur entrée
Remarque: j'ai utilisé cela pour entrer plusieurs lignes dans cin invites à partir d'un programme C++ compilé sous linux. Je ne sais pas si elle va travailler directement dans le terminal.
OriginalL'auteur bigcodeszzer