免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2723 | 回复: 13
打印 上一主题 下一主题

[文本处理] 求助,如何多台机器选取固定日志文件error部分远程方式汇总到本地 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-31 13:09 |只看该作者 |倒序浏览
如题:如何多台机器选取固定日志文件error部分远程方式汇总到本地
需求:在本地虚拟机上建立脚本,能够远程方式汇总多台业务机器最近一天log日志的error部分到本地
权限:scp ssh 用户账户和密码 不能在业务机器上安装软件等
求思路,求办法,求脚本

论坛徽章:
3
程序设计版块每日发帖之星
日期:2016-02-23 06:20:0015-16赛季CBA联赛之八一
日期:2017-10-26 17:58:2515-16赛季CBA联赛之北控
日期:2017-11-02 10:50:56
2 [报告]
发表于 2012-12-31 13:23 |只看该作者
集中式日志管理。

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2014-03-27 15:44:382015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2012-12-31 13:25 |只看该作者
1. 配置ssh信任关系
2. ssh username@ip "cat log|grep -i error" >filename

论坛徽章:
0
4 [报告]
发表于 2012-12-31 13:48 |只看该作者
能具体下吗?回复 2# 过过招


   

论坛徽章:
0
5 [报告]
发表于 2012-12-31 13:52 |只看该作者
执行慢,一直等待,而且没结果,回复 3# cu_little_bird


   

论坛徽章:
0
6 [报告]
发表于 2012-12-31 13:54 |只看该作者
一个syslog不就行了?

论坛徽章:
3
程序设计版块每日发帖之星
日期:2016-02-23 06:20:0015-16赛季CBA联赛之八一
日期:2017-10-26 17:58:2515-16赛季CBA联赛之北控
日期:2017-11-02 10:50:56
7 [报告]
发表于 2012-12-31 14:01 |只看该作者
你的日志范围,是仅系统的,还有包括应用程序如weblogic,oracle,nginx等等的?

如果仅系统的,使用Linux系统日志服务,采用集中日志管理,将所有机器日志远程传送到指定机器。


如果包括应用程序的,则需要手工处理了!

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
8 [报告]
发表于 2012-12-31 14:11 |只看该作者
如果用syslog[-NG]不能直接记录到同一机器?

论坛徽章:
0
9 [报告]
发表于 2012-12-31 15:29 |只看该作者
一个基于系统而自身独立的业务系统回复 7# 过过招


   

论坛徽章:
0
10 [报告]
发表于 2012-12-31 15:51 |只看该作者
请帮我修改如下代码(实现输出部分写到本地文件中):
#!/usr/bin/expect -f
#!/bin/bash
#-------------------------------------------------- set the variable,you can modify the value
set loginuser "root"                  
set loginpass {123qwe}
set ipaddr [lrange $argv 0 0]   
set timeout 300
set cmd_prompt "]#|~]?"
#-------------------------------------------------- login by ssh
spawn ssh $loginuser@$ipaddr
set timeout 300
expect {
     -re "Are you sure you want to continue connecting (yes/no)?" {
         send "yes\r"
     } -re "assword:" {
         send "$loginpass\r"
     } -re "Permission denied, please try again." {
        exit
     } -re "Connection refused" {
         exit
     } timeout {
        exit
     } eof {
        exit
     }
}
exec sleep 1
expect {
  -re $cmd_prompt {
     send "df -h\r"
  }
}
exec sleep 1
expect {
  -re $cmd_prompt {
     send "cat `find / -group oinstall -type f -mtime -1 -size +0k -name E_TEST.rpt -print` | gre
p -i 'INFO    OGG-'\r"
  }
}
expect {
  -re $cmd_prompt {
     send "exit\r"
  }
}
exit
#interact


该代码部分:
exec sleep 1
expect {
  -re $cmd_prompt {
     send "cat `find / -group oinstall -type f -mtime -1 -size +0k -name E_TEST.rpt -print` | gre
p -i 'INFO    OGG-'\r"
  }
}
结果会显示到本地机器上,但我想输入到本地的机器上,怎么办


回复 1# gly896420885


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP