expect脚本配置
expect这个语言,我觉得提供了和进程交互的能力吧,具体语句含义见参考。
下面有2种情况,第一种是直接连服务器,也就是需要输入密码的方式,当然在服务器把你电脑公钥放上去,密码也不用输了。第二种情况的话,大部分公司去连线上服务器,都要经过跳板机,我们公司使用的是JumpServer,跳板机如何配置也不讲了。
普通服务器脚本
connect.sh
#!/usr/bin/expect
set timeout 30
spawn ssh [lindex $argv 0]@[lindex $argv 1]
expect "password"
send "[lindex $argv 2]\r\n"
expect "$*"
send "cd [lindex $argv 3]/\n"
send "tail -200f [lindex $argv 4]\n"
interact
直接使用方式如下
./connect.sh {username} {host} {password} {directory} {logFile}
跳板机脚本
jump.sh
#!/usr/bin/expect
spawn ssh jhost
expect "*" {send "[lindex $argv 0]\n"}
expect "$*" {send "cd [lindex $argv 1] \n"}
send "tail -200f [lindex $argv 2]\n"
interact
直接使用方式如下
./jump.sh {jumpServerName} {directory} {logFile}
iTerm2 profile配置
在iTerm2中每个profile对应于一台远程主机。
profile的配置页面如下
tags用于对profile分组,我们可以一键打开同一tag下的所有服务器。
Badge用于给打开的profile增加一个标记,在控制台右上角显示。
Command中的命令/脚本会在profile打开时执行,上一节的脚本会配置在这里。
profile使用方式如下
我们可以打开具体某个profile也可以通过Open All打开某个tag下所有profile
一秒钟查看6台服务器错误日志,是不是省了很多力气。
如何简易配置多个profile
有些profile的配置十分复杂(比如文件上传下载,每个profile都要重新配置),我们不可能手动配置第二个,我们有以下方式快速来配置其他类似的profile。
使用 Other Actions -> Duplicate Profile
使用 Other Actions -> Save Profile as JSON导出配置,然后修改为新配置,在通过 Other Actions -> Import JSON Profiles 导入
使用Dynamic Profile功能,和普通的profile不同,Dynamic Profile相当于做了持久化,并且修改后配置立刻生效。
Dynamic Profile 文件格式和导出的profile一致,只不过需要放在一个固定目录下,具体如何使用见参考中的链接
来源:CSDN
作者:fengzhaoy
链接:https://blog.csdn.net/fzy629442466/article/details/103457812