53 votes

Traiter plusieurs fichiers distants

Existe-t-il un moyen de faire suivre deux fichiers à distance ?

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 !

41voto

milosgajdos Points 1778

Je préfère opter pour le multitail. J'utiliserais quelque chose comme :

multitail -l 'ssh user@host1 "tail -f /some/log/file"' -l 'ssh user@host2 "tail -f /some/log/file"'

32voto

einstiien Points 2528

Cela a marché pour moi :

ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &

9voto

jbochi Points 181

Vous pouvez utiliser tissu pour suivre plusieurs hôtes (et aussi les résultats grep, si nécessaire) :

$ fab -P -u 'USER' -p 'PASSWORD' --linewise -H host1,host2,host3 -- tail -f /path/to/my/log.log | grep ERROR

7voto

Fabbree Points 31

Je pensais qu'il serait également possible de l'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 d'entrer un mot de passe avant qu'il ne s'exécute en arrière-plan. Vous pourriez alors avoir les résultats ligne par ligne dans un seul fichier et l'exécuter :

tail -f /tmp/somefile

Cela vous donnerait un peu plus de contrôle sur la commande "tail" actuelle au cas où vous voudriez utiliser d'autres options tail pour afficher la sortie.

6voto

mrm Points 163

Vérifiez cette réponse sur stackoverflow -- il utilise dsh et tail -f.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X