0

我将应用程序部署到 Unix 机器上,我们将在大约 100 个机器上工作,假设应用程序 A 将部署在 5 个机器上,例如 Box1、Box2、Box3、Box4、Box5,每次我们部署应用程序 A 时,我们都会转到每个 Box1, 2,3,4,5 并在每个盒子和每个应用程序的BOX1/A/B/C/logs文件夹的路径中检查部署的应用程序A是否正常启动。

有没有一种方法可以将日志从所有 Box 1、2、3、4、5 拉到本地,它应该允许我按应用程序 A 名称搜索日志。

提前感谢您的帮助...

4

1 回答 1

1

当然,您的问题并不具体,我可以确切地告诉您在您的特定情况下该怎么做,但是非常类似的事情仍然会在您的本地标准输出上聚合数据,之后您可以根据需要在本地处理它:

for I in $(seq 1 5); do echo "box$I:"; ssh username@box$I 'cat /var/log/mylog'; echo; done

主题的许多变化是可能的,但如果你能让这个工作,那么你应该很快就能看到如何适应你自己的需要。

请注意,要使 Ssh 无需在每台机器上手动登录即可完成其工作,需要在本地和远程框上进行一些设置: man 1 ssh并查看 AUTHENTICATION 部分,尤其是谈到authorized_keys文件的段落。

于 2012-06-24T23:35:51.020 回答