Solution 1 :
Mon option préférée est d'aller avec multitail. Je lancerais quelque chose comme :
multitail -l 'ssh [email protected] "tail -f /some/log/file"' -l 'ssh [email protected] "tail -f /some/log/file"'
Solution 2 :
Cela a fonctionné pour moi :
ssh -n [email protected] 'tail -f /mylogs/log' &
ssh -n [email protected] 'tail -f /mylogs/log' &
Solution 3 :
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
Solution 4 :
Je pensais qu'il pourrait également être possible d'utiliser :
ssh -f [email protected] "tail -f /var/log/file" > /tmp/somefile &
ssh -f [email protected] "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. Ensuite, vous pourriez avoir les résultats ligne par ligne dans un seul fichier et 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 de queue pour afficher la sortie.
Solution 5 :
Consultez cette réponse sur stackoverflow -- il utilise dsh et tail -f.