Existe-t-il un moyen de télécharger à distance les fichiers de queue 2?
J'ai deux serveurs (a et b) derrière un équilibreur de charge et je voudrais faire quelque chose comme ça si possible:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Merci!
Cela a fonctionné pour moi:
ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &
Mon option préférée est d'aller avec le multitail. Je lancerais quelque chose comme:
multitail -l 'ssh user@Host1 "tail -f /some/log/file"' -l 'ssh user@Host2 "tail -f /some/log/file"'
Vous pouvez utiliser fabric pour suivre plusieurs hôtes (et également les résultats de grep, si nécessaire):
$ fab -P -u 'USER' -p 'PASSWORD' --linewise -H Host1,Host2,Host3 -- tail -f /path/to/my/log.log | grep ERROR
Découvrez cette réponse sur stackoverflow - il utilise dsh et tail -f.
Je pensais qu'il pourrait également être possible d'utiliser:
ssh -f user@hostname1 "tail -f /var/log/file" > /tmp/somefile &
ssh -f user@hostname2 "tail -f /var/log/file" > /tmp/somefile &
L'option -f après ssh vous permet de saisir un mot de passe avant de l'exécuter en arrière-plan. Ensuite, vous pouvez avoir les résultats ligne par ligne dans un seul fichier et exécuter:
tail -f /tmp/somefile
Vous donnerait un peu plus de contrôle sur la commande "tail" actuelle au cas où vous voudriez utiliser d'autres options de queue pour afficher la sortie.
Jetez un oeil à multitail . Tout comme les exemples ci-dessus, vous pouvez la donner en tant que commande à ssh, puis vous vous retrouverez avec un écran affichant (et mettant en mémoire tampon pour les défilements faciles) plusieurs journaux. Il fait également de la coloration, ce qui est très utile pour repérer les anomalies.
Parallel ssh a une belle solution pour cela:
pssh -t0 -H 'Host-01 Host-02 Host-03 Host-04' -P tail -f /var/log/app.log
-t0
désactive le délai de connexion, sinon pssh a fermé la connexion-H '<Host>...'
est la liste des hôtes pour exécuter la commande-P
permet d'activer l'impression de la sortie standard de chaque hôtetail -f /var/log/app.log
peut être n'importe quelle commande que votre shell distant peut exécuterVous pouvez commander dbitail.
A Java outil que j'ai créé, capable de lire des fichiers journaux locaux et distants en utilisant SSH. Il est assez simple à utiliser.
Quelques explications supplémentaires: https://github.com/pschweitz/DBITail/wiki
Téléchargez simplement la version correspondant à votre système d'exploitation, de la version native du pot exécutable dans votre Java Runtime (nécessite Java 8_40 ou supérieur):
https://github.com/pschweitz/DBITail/releases
Vous pouvez trouver une documentation complète (intégrée à la page I et Github également)
Philippe
Que diriez-vous de quelque chose comme ça? http://Gist.github.com/303175
Juste une solution bizarre, mais ça marche!:
Écran 1
ssh user@hostname1 "tail -f /var/log/file" > /dev/pts/6
Écran 2
ssh user@hostname2 "tail -f /var/log/file" > /dev/pts/6
ou vous pouvez utiliser l'écran pour créer deux terminaux, puis les diviser.
Connectez-vous à SSH dans le premier hôte dont vous souhaitez copier le fichier journal et avant d'exécuter tail, accédez à l'écran.
Ensuite, limitez le fichier sur cet hôte.
CTRL + A, c créera un nouvel écran ou une nouvelle fenêtre. À partir de cette nouvelle fenêtre ssh dans le 2ème hôte et suivez le fichier là-bas.
Maintenant, pour créer l'écran partagé
CTRL + A, SHIFT + S, cela créera un écran divisé avec le shell actuel dans la partie supérieure et la partie inférieure vide. Pour passer à la partie inférieure et y placer le premier écran,
CTRL + A, TAB, cela vous amènera à la partie inférieure. Maintenant, pour amener votre première session SSH dans ce domaine:
CTRL + A, "(symbole de citation) et sélectionnez la première session et appuyez sur Entrée.
Je me rends compte que cela peut ressembler à beaucoup de gymnastique, et ça l'est, mais vous vous y habituez une fois que vous l'utilisez plusieurs fois.
Voici un très bon tutoriel ou une référence rapide aux commandes de l'écran: http://www.pixelbeat.org/lkdb/screen.html
De plus, vous pouvez créer un fichier .screenrc afin qu'une grande partie de ce que j'ai décrit puisse être automatisée la première fois que vous accédez à l'écran.
Une autre bonne chose à ce sujet est que vous pouvez simplement fermer votre session et la reprendre ailleurs. Par exemple, vous êtes au travail et vous avez une surveillance en cours. Vous pouvez simplement fermer votre session sans vous déconnecter et reprendre lorsque vous rentrez chez vous ou dans un autre endroit.
Vous pouvez Tail des fichiers à distance en utilisant bash et rsync, je l'utilise et c'est un excellent script bash jetez un oeil au tutoriel suivant