【效率工具】史上最好用的SSH一键登录脚本,超强更新!
说明
虽然已经是凌晨,但丝毫不能掩盖我激动的心情,今天完成了对GotoSSH的一次大更新,新增了两个肥肠实用的功能,是真的好用,话不多说,先来看效果图:
普通的一键登录:
一键登录跳板机,然后跳转登录线上服务器:
一键登录跳板机查看指定日志:
一键登录跳板机后跳转线上服务器查看指定日志:
然后是更加劲爆内容,一键从跳板机复制指定文件到本地:
一键从生产环境复制指定文件到本地:
我只能说,是真的强。
Shell脚本
Shell脚本已经发布到了github
上,链接在此:github.com/MFrank2016/…
可自行前往下载,好用的话别忘了给个star。
安装依赖
CentOS :
$ sudo yum install -y expect
复制代码
Ubuntu :
$ sudo apt-get install tcl tk expect
复制代码
Mac :
$ sudo brew install expect
复制代码
安装 GotoSSH
$ git clone https://github.com/MFrank2016/GotoSSH.git
$ cd GotoSSH
$ chmod a+x gotossh
$ sudo cp gotossh /usr/local/bin/
复制代码
配置
$ vim ~/.gotossh_config
server_name|ip|username|password|port|rely_server_no[Server1]
commend=tail -f -n 10 testlog.log[scp]
log1=~/testlog.log
复制代码
配置文件由三部分组成。
第一部分是服务器的基本信息。
server_name|ip|username|password|port|rely_server_no
复制代码
举个栗子:
JumpServer1|118.24.163.31|root|testpassword|22|0
OnlineServerB|111.231.59.85|root|testpassword2|22|1
复制代码
最后一列是代表该服务器依赖于哪个服务器,如果该列的值设置为0,代表不依赖于其他服务器,否则代表需要先登录其他服务器后才能登录该服务器,目前暂时只支持二连跳,不支持多跳转。
第二部分是自定义命令,你可以在这里为每台服务器单独设置一些自定义命令。
[Server1]
commend=tail -f -n 10 testlog.log
复制代码
Server1 表示以下是为第一台服务器设置的命令,同理Server2则表示为第二台设置的命令。对于顺序没有要求,只要为需要设置自定义命令的服务器添加该选项即可。
commend 是命令的名字,可以随意取名,最好简单一点,方便输入,等号后面是实际执行的命令。
举个栗子:
gotossh 1 commend
复制代码
只要你小手一点回车,脚本便会自动帮你登录到第一台服务器,然后执行上面的命令tail -f -n 10 testlog.log
。
注意,如果你输入的命令需要密码的话,需要在命令后面把密码也带上,并且用|分隔。
举个栗子:
[Server1]
commend=scp root@111.231.59.85:/var/log/test-service/test-service.log ./test-server.log|testpassword2
复制代码
当然,强烈建议不要将类似rm -rf xxx
等敏感操作放到这里,因为如果配置不当,容易引发事故。
配置文件的最后一部分是对于scp命令的支持。
[scp]
log1=~/testlog.log
log2=/var/log/test-service/test-service.log
复制代码
log1 和 log2 都是随意起的名字,后面是服务器上你想要复制的文件路径,配置好之后,你就可以这样使用:
gotossh 1 scp log1
复制代码
它就会自动把第一台服务器上的~/testlog.log
文件复制到你的本地。
gotossh 2 scp log2
复制代码
这个操作就更厉害了,因为第二台服务器设置了对第一台服务器的依赖,所以它会先登录第一台服务器,然后再复制第二台服务器上的文件到第一台服务器上,最后,退出服务器到本地,将第一台服务器上的复制品再拷贝到本地。
配置文件举例
$ vim ~/.gotossh_config
JumpServer1|118.24.163.31|root|testpassword|22|0
OnlineServerB|111.231.59.85|root|testpassword2|22|1[Server1]
log=tail -f -n 20 testlog.log[Server2]
log=tail -f -n 20 /var/log/test-service/test-service.log
cd=cd /var/log/test-service/[scp]
log3=~/testlog.log
log4=/var/log/test-service/test-service.log
复制代码
用法
$ gotossh
######################################################################################
# [GOTO SSH] #
# #
# #
# [1] test_server - 192.168.0.1:root #
# [2] online_server - 192.168.2.2:root #
# #
# #
######################################################################################
Server Number:(Input Server Number Here)
复制代码
gotossh 1
gotossh 2
gotossh 1 log
gotossh 2 log
gotossh 2 cd
gotossh 1 scp log3
gotossh 2 scp log4
复制代码
解决了什么问题
- 查询线上服务器日志的时候,需要先登录跳板机,然后再登录服务器,过程比较麻烦。需要多次查看服务器信息,如,ip,用户名,密码等,查看后还需要来回进行复制。利用GotoSSH,配置好服务器信息之后,可以直接一键跳转。
- 增加了登录服务器后执行自定义命令,这一点主要是在查看日志的时候,还需要先去查看一下服务的日志路径,然后再切回来看日志,既然每次都是模板式操作,为何不简化一下呢?
- 服务器上有时候操作很不方便,因为对权限做了严格的限制,很多命令无法使用,所以增加了对
scp
命令的支持,可以将线上服务器日志一键拷贝到本地,岂不是美滋滋。
最后再贴一下项目地址:github.com/MFrank2016/…
如果觉得还不错,别忘了加个star✨也欢迎关注我的公众号留言交流。
转载于:https://juejin.im/post/5c9d7660e51d4562c846c193
【效率工具】史上最好用的SSH一键登录脚本,超强更新!相关推荐
- [开发工具] 史上最全系列之开发环境搭建之DDMS
原文链接:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=275774 一.简介 DDMS 的全称是DalvikDebug Mon ...
- 美国创建了史上最强的量子计算器,超强量子算法秒杀一切当今科技
编程一台计算机通常是一个相当艰难的过程,涉及几个小时的编码,更不用说繁琐的调试.测试和记录工作,以确保其正常工作.对于哈佛 - 麻省理工学院超冷原子研究中心和加州理工学院的物理学家们来说,实际情况上要 ...
- 史上最全的spark面试题——持续更新中
1.spark中的RDD是什么,有哪些特性? 答:RDD(Resilient Distributed Dataset)叫做分布式数据集,是spark中最基本的数据抽象,它代表一个不可变,可分区,里面的 ...
- 吐血总结|史上最全的MySQL学习资料!!
在日常工作与学习中,无论是开发.运维.还是测试,对于数据库的学习是不可避免的,同时也是日常工作的必备技术之一.在互联网公司,开源产品线比较多,互联网企业所用的数据库占比较重的还是MySQL. 在刚刚出 ...
- 史上最简单的spark系列教程 | 完结
<史上最简单的spark系列教程>系列: 与其说是教程不如说是改良后的个人学习笔记|| 教程参考自:<spark官方文档>,<spark快速分析>,<图解Sp ...
- 史上最全的IDEA快捷键总结
写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字.我热爱技术.热爱开源.热爱编程.技术是开源的.知识是共享的. 这博客是对自己学习的一点点总结及记录,如果您对 Java.算法 感兴 ...
- android 兼容性定义,谷歌释出 Android 7.0 兼容性定义文件,史上最严
原标题:谷歌释出 Android 7.0 兼容性定义文件,史上最严 每次跟随 Android 系统的更新,谷歌每年也会更新 Android 兼容性定义文档来确保 OEM 厂商的设备能够正常预装谷歌全家 ...
- MySQL史上最快逻辑备份工具
MySQL Shell 8.0.21 增加了一种新的逻辑备份恢复方法,有更快的备份恢复效率,支持zstd实时压缩,支持分块并行导出,load data并行导入,还能备份到OCI的对象存储. util. ...
- 史上最牛逼的 Eclipse 快捷键,提高开发效率!
写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字.我热爱技术.热爱开源.热爱编程.技术是开源的.知识是共享的. 这博客是对自己学习的一点点总结及记录,如果您对 Java.算法 感兴 ...
最新文章
- 1.2 String字符串和整型int的相互转换,valueOf() 、parse()和toString()
- SpringBoot @EnableAutoConfiguration注解
- 新版本阿里云网站的云服务器添加安全组规则
- 《SpringMVC从入门到放肆》三、DispatcherServlet的url-pattern配置详解
- 8086加法指令ADD
- 创建三个并发进程linux,Linux下几种并发服务器的实现模式(详解)
- vue——单文件组件
- 监控mysql的pr_zabbix之监控MySQL
- android 合并数组
- 一种简单的图像显著性计算模型
- Visual Assist X 10.8.2001 破解版 支持VC2013及以下版本
- python遍历文件夹下的所有图片
- wuauclt1.exe mshta.exe 病毒清理
- Lonza高通量384孔Nucleofector电转平台
- Vue template挂载中el和mouted的使用和区别
- 清分--清算--结算
- 【ZJOI2005】沼泽鳄鱼
- 传说Silverlight 3将提升4成浏览效能
- 计算机网络物联网论文,物联网技术及其应用_计算机网络论文.doc
- H5页面 禁止微信分享转发按钮
热门文章
- 【Unity Shader入门精要】普通纹理和高级纹理
- 手机联系人信息获取(头像,电话,姓名)
- nginx使用pagespeed
- 计算机应用基础第二版在线作业c,计算机应用基础(第2版)-在线作业_C.doc
- stm32f4xx.h文件的详解
- Yii2 framework学习笔记(五) -- 为后台更换皮肤
- Mongodb 索引 对查询结果的排序
- Android设置状态栏字体深色,Android实现修改状态栏背景、字体和图标颜色的方法...
- 生活中的小技巧-1:燃气热水器购买实用手册
- prometheus 结合cAdvisor、AlertManager、node-exporter、 监控容器并实现邮箱告警