`

shell脚本:自动发送密码抓取远程日志的方法

阅读更多

转自:http://www.cnblogs.com/yes123/p/3915795.html

在linux系统中,如何用shell脚本抓取远程日志?分析线上的日志会有一个困境,机器太多,如果每台都登录上去看不太现实,但是下载下来更麻烦因为每台SCP都要求输入密码。于是我便写了一个自动抓取远程日志的脚本,实现在基本功能。

 代码:

#!/usr/bin/expect -f

if { $argc !=1 && $argc !=2 } {
send_user "没有输入远程日志文件名.\n"
send_user "格式是:get.sh ${remote_log} ${local_log}\n"
send_user "例如:\n"
send_user "./get.sh /home/admin/log/gc.log /tmp/gc.log\n"
send_user "local_log没有输入,默认是值:/logs/log.txt\n"
exit
} # www.jbxue.com
set log_path [lindex $argv 0]
if { $argc == 2 } {
set local_logpath [lindex $argv 1]
} else {
set local_logpath "./logs/log.txt"
send_user "local_log没有输入,默认是本地日志路径 :$local_logpath \n"
}
set file "./ip.txt"
if {[file isfile $file]!=1} {
send_user "Ip 文件不存在,请检查.\n"
exit
}
send_user "\n\n\n"
set f [open $file r]
set count 0
while {[gets $f line]>=0} {
set ips($count) $line
#puts "line $count of file: $ips($count)"
incr count
}
close $f
set i 0
while {$i<50} {
#puts $ips($i)
spawn scp nobody@$ips($i):$log_path $local_logpath.$ips($i) 
expect "nobody@$ips($i)'s password: " {send "look\r"}
expect eof
incr i
}
exit

分享到:
评论

相关推荐

    华为网络设备自动备份脚本

    标题 "华为网络设备自动备份脚本" 描述的是一个针对华为网络设备的自动化备份解决方案,主要涉及了自动化运维、华为设备(路由器和交换机)以及通过SSH和FTP进行远程操作的相关技术。下面将详细讲解这些知识点。 1....

    生产环境,线上使用)shell python运维web脚本db 安全脚本.7z

    在生产环境中,运维人员经常使用Shell脚本来执行自动化任务,如系统监控、日志分析、备份、部署和更新等。例如,db目录可能包含用于数据库管理的Shell脚本,如自动备份、数据迁移或性能优化的脚本。这些脚本可以定时...

    rizhi.sh.zip_日志

    "rizhi.sh"很可能是一个Shell脚本,这是Linux或Unix系统中常见的批处理程序,用于自动化执行一系列命令。在这个场景下,它可能被设计用来远程连接到其他设备,读取它们的日志文件,并将这些日志信息传输回主计算机。...

    logCollection:将客户端设备日志上传到Jamf Pro的脚本

    综上,"logCollection"项目是一个使用Shell脚本的解决方案,用于自动化收集客户端设备的日志,并上传到Jamf Pro进行管理和分析,以提升企业环境中苹果设备的管理和维护效率。用户在实施前应参考相关指南,确保正确...

    安卓 adb shell input keyevent 按键大全.txt

    通过ADB,开发者可以安装应用、运行shell命令、抓取日志等,而ADB Shell Input Keyevent则是其中一项非常实用的功能,允许用户模拟键盘事件,这对于自动化测试、远程控制以及某些特定的调试场景尤为有用。...

    secureCRT中使用python

    `senddata2_py.txt`可能是一个向远程主机发送数据的脚本,这在进行数据传输或者自动化部署时很有用。 通过这些Python脚本,我们可以实现SecureCRT的自动化、批处理和定制化,大大提升运维效率。在实际应用中,需要...

    命令操作订单

    通过编写shell脚本,可以实现自动化订单处理,例如批量更新订单状态、定期生成订单报告、自动发送订单通知等。例如,你可以创建一个脚本来遍历订单目录,读取每个订单文件,根据规则更新订单状态,并将结果写入日志...

    Android常用脚本的使用adb.zip

    本压缩包“Android常用脚本的使用adb.zip”中包含了一些常见的`adb`使用场景,如获取日志、捕获屏幕快照等。 1. **定向获取日志文件**: `adb logcat` 命令用于打印设备的系统日志。通过指定过滤器,我们可以定向...

    radio-junior-dl:从Radio Junior下载音频文件的丑陋脚本

    "radio-junior-dl"是一个shell脚本,专为从Radio Junior网站自动化下载音频文件而设计。这个脚本对于那些希望离线收听节目或保存内容以供日后播放的用户非常有用。在本文中,我们将深入探讨shell脚本的使用、它的...

    电信设备-获取服务器屏幕输出信息的系统.zip

    10. **自动化脚本**:编写自动化脚本可以定期收集屏幕输出信息,简化日常管理和故障排查工作,提高效率。 "获取服务器屏幕输出信息的系统.pdf"文件很可能详细阐述了以上这些概念,并提供了具体的操作步骤和最佳实践...

    安卓专用ADB

    - 自动化测试:ADB可与自动化测试框架结合,用于批量执行测试脚本,进行UI测试或性能测试。 5. **ADB进阶技巧** - 模拟键盘输入:`adb shell input`命令可以模拟按键事件,如`adb shell input keyevent 26`模拟按...

    adb command test script

    这样的脚本可以自动化执行一系列操作,比如批量安装应用、收集设备信息、持续监控日志等,大大提高了开发效率。 `ct3_test_code`这个文件可能是本次测试脚本的源代码,可能包含了上述adb命令的使用示例,或者是用于...

    jmeter+linux资源监控

    2. **Shell脚本**:可以编写Linux shell脚本,使用上述的Linux命令获取资源信息,然后通过JMeter的“通用HTTP采样器”或“脚本采样器”将这些数据发送回JMeter。这种方法需要对Linux命令和JMeter脚本有一定的了解。 ...

    infrastructure

    Shell脚本可以用来检查网络连接、抓取远程数据,甚至执行远程操作,如通过SSH(Secure Shell)进行文件传输或命令执行。 8. **错误处理与调试**:良好的错误处理机制是脚本健壮性的保证。通过`set -e`开启错误检查...

    scrapy1.6.pdf

    - **定义:**提供了一个基于Telnet协议的控制台,可以远程监控和控制正在运行的爬虫。 - **配置方法:** - 设置TELNETCONSOLE_ENABLED=True。 - **示例配置:** ```python TELNETCONSOLE_ENABLED = True ``` ...

    teslamateapi

    1. **API 调用**:脚本会使用 HTTP 客户端(如 `curl` 或 `wget`)发送请求到 TeslaMate API,请求可能包括 GET、POST 方法,用于获取或更新数据。 2. **数据解析**:接收到的 JSON 响应会被解析,提取出所需的信息...

    scripts:我的剧本

    3. **网络通信**:Shell脚本也可以实现简单的网络功能,比如发送HTTP请求、检查网络连接状态或者抓取远程数据。`curl`和`wget`命令经常在这些场景中使用。 4. **用户交互**:通过使用`read`命令,脚本可以接收用户...

    LINUX考题.doc

    - 创建一个名为`abc`的Shell脚本,内容为`echo $PATH`,用于显示环境变量`$PATH`。 - 给脚本添加执行权限:`chmod +x abc`。 - 执行脚本:`./abc`。 ### 8. 文件归档与打包 - **打包文件**: - `tar -cvf 1....

    Android渗透测试之adb介绍与使用详解

    4. **自定义脚本**:编写bash或Python脚本,结合adb命令,可以自动化执行一系列操作,提高测试效率。 总结来说,adb作为Android开发者和渗透测试人员的得力工具,不仅简化了日常的设备管理和应用调试工作,还在安全...

Global site tag (gtag.js) - Google Analytics