互联网行业基本都是采用分布式部署,一个应用有很多台服务器,多的会有上百台。一旦线上出现case,很可能需要查询日志,但是一下子这么多机器查起来费时费事。
现在我们使用下面的脚本直接就可以拉到相关机器的日志。

trick

code

加入我们有sb1,sb2,sb3三台机器:

for server in sb1 sb2 sb3; do
ssh "$server" grep 'test' /data/applogs/sb/app.lot
done

这样一下就可以拉到所有机器的日志

问题

这段代码有个小问题,一般线上服务器都需要用户名和密码,用户名在ssh中可以很轻松的带上,但是每次输入密码是件很痛苦的事情,可以考虑kinit的方式保存帐号和密码