2010-12-09 34 views
0

Je suis en train de développer un outil pour collecter les journaux depuis le serveur distant (Solaris) vers le système local (Windows). J'ai réussi à établir une connexion avec le serveur en utilisant TelnetToClient.java. J'ai essayé d'exécuter la commande via Runtime.getRuntime.Exec(), mais cela ne fonctionnait pas. Ensuite, j'ai essayé avec le code suivant d'envoyer la commande au serveur pour supprimer un fichier (Juste pour confirmer que cette façon d'émettre la commande fonctionne).Besoin d'aide pour l'envoi de la commande tail au serveur distant à partir de l'interface graphique

exeComm public void (String comm) {try { _executor.sendCommand (comm); } catch (IOException e) { e.printStackTrace();}}

Où comm est la commande émise qui est « rm/test » qui supprime avec succès le test de fichier, situé dans le répertoire racine. J'ai suivi de la même manière pour émettre la commande pour terminer le journal. La commande était "tail -f /usr/log/tracelog.log >> tailedtracelog" mais cela n'émet pas la commande au serveur et par conséquent je ne suis pas en mesure de terminer le journal qui est ma principale exigence. J'ai essayé la même commande de suppression en utilisant Runtime.getRuntime.Exec() qui ne fonctionne pas non plus. Quelqu'un peut-il m'aider s'il vous plaît à ce sujet? Merci d'avance.

+0

Accrochez-vous une seconde. Votre exigence est-elle de copier les journaux de la boîte Solaris dans votre boîte Windows? Ou est-il créer une sorte de console qui fait face au journal distant? –

+0

Salut Martijn, Je suis en train de développer un outil (GUI) dans Windows qui doit collecter les logs de la boîte Solaris. – passionatebalu

+0

Ces journaux sont-ils générés par log4j ou un autre système de journalisation générique? –

Répondre

1

Ah ce vieux classique :). Veuillez lire Why Runtime exec() won't

+0

J'ai lu cet article., Quelle est la manière alternative pour cela alors? – passionatebalu

+0

Une section de l'article explique comment séparer les flux d'entrée et de sortie lors de l'exécution de commandes de système de fichiers distantes. –