web-dev-qa-db-fra.com

Comment utiliser grep pour ne voir qu'une partie de BFGMiner qui est exécutée à l'écran sur ssh?

Ok, supporte-moi avec ça. J'utilise un programme appelé BFGminer, qui, espérons-le, est un programme d'exploration de bitcoins. En tous cas. Il met à jour toutes les secondes quelques lignes qui ressemblent à ceci:

DEVICE 0: xxxx
DEVICE 1: xxxx

Ce ne sont que les bases de ce qui me préoccupe. J'ai besoin d'un moyen de voir ces quelques lignes à partir d'une fenêtre de terminal si possible. Le seul problème que j'ai, c'est que je n'arrive pas à obtenir grep pour mettre à jour le canal que je viens d'entrer.

J'ai la commande en cours d'exécution sur une autre machine, et cette machine a également un écran avec BFGminer en cours d'exécution.

Donc, pour accéder à la fenêtre de BFGminer, je lance un script pour

ssh [email protected] screen -R

Cela me mène à l'écran, mais je dois appuyer sur ctrl+A, puis D pour le détacher afin qu'il continue à courir.

Si je cours

ssh [email protected] screen -R | grep "^ DEV"

Je peux voir tous les appareils connectés. Bien jusqu'à présent. Cependant, il ne met pas à jour toutes les quelques secondes comme j'en ai besoin pour ...

MODIFIÉ: compris quoi faire. Voir la réponse.

3
Flasimbufasa
ssh [email protected] ./RPC.sh

RPC.sh contient:

cd /opt/bfgminer/
while : ; do clear && ./bfgminer-rpc && sleep 5; done;

Ressemble à: http://Pastebin.com/wrTb18TL

Fait un assez bon travail. Il n'a tout simplement pas toutes les informations dont j'ai besoin. Je ferai une nouvelle question plus tard pour essayer d'analyser les données si je ne peux pas le comprendre.

Merci à tous pour les idées :)

EXPLICATION: il s'avère que bfgminer a une fonctionnalité d'appel de procédure à distance (RPC). Tout ce que vous avez à faire est d’ajouter un drapeau lorsque vous démarrez bfgminer. "--enable-api"

Je n'ai pas encore trouvé comment mettre de l'ordre dans la sortie en utilisant grep. Mais au moins cela mettra à jour correctement avec certaines des informations nécessaires.

0
Flasimbufasa

Utilisez tail, il suivra un fichier au fur et à mesure de sa croissance. Vous pouvez diriger tail dans grep: tail changing-log-file | grep whatever-you-need. Vous pouvez demander à BFGminer de générer un fichier journal que vous pouvez apparemment utiliser avec le paramètre -L, utilisez -L /path/to/file. Ensuite, sur votre système local, vous pouvez faire quelque chose comme:

ssh server.com tail -f /path/to/file | grep DEVwhatever

juste Ctrl+C Ce processus lorsque vous souhaitez arrêter de suivre le journal.

Bonne mine!

2
roadmr