shell脚本实现同时管理多台服务器

shell脚本实现同时管理多台服务器,未使用ansible,自动手动实现

ssh不登录机器执行命令(前提得实现无密码登录)

ssh 127.0.0.1 ‘ifconfig‘
ssh 127.0.0.1 ‘ifconfig|grep bbb‘
ssh 127.0.0.1 ‘tail /var/log/secure‘

shell while循环读取需要管理的服务器的ip列表

cat /tmp/hosts|while read line;do
echo $line;
done

结合上述两个实现同时管理多台服务器

  • 一开始的想法,但没办法同时管理多台服务器,只能管理1台

    cat /tmp/hosts|while read line;do
    echo $line
    ssh $line ‘tail /var/log/secure‘
    done
  • 打到日志的一个尝试,还是不行
    cat /tmp/hosts|while read line;do
    echo $line
    ssh $line ‘tail /var/log/secure‘ >/tmp/${line}.log
    done
  • 尝试成功,必须要放在后台&
    cat /tmp/hosts|while read line;do
    echo $line
    ssh $line ‘tail /var/log/secure‘ >/tmp/${line}.log &
    done

    ssh无密码,scp也是无密码。

    综合上述的情况,我们已经可以实现同时管理多台服务器,批量运行命令,批量上传文件,批量下载文件 。

原文地址:http://blog.51cto.com/395469372/2133241

时间: 2024-08-04 04:42:41

shell脚本实现同时管理多台服务器的相关文章

Python调用paramiko模块实现远程管理多台服务器

Python中的paramiko是一个非常有用的模块,通过此模块,可以远程操控多台服务器,无需在服务器上安装任何东西,只需要在代码执行机器上有Python,paramiko环境就可以了,对于需要多台服务器协同工作或者要管理多台服务器的情况下非常有帮助. 以下为代码示例 #!/usr/bin/env python # -*- coding:utf-8 -*- import paramiko #远程控制多台测试服务器,用来启动测试相关脚本和程序 ssh = paramiko.SSHClient()

shell脚本实现ssh自动登录远程服务器示例

本文转载自 懒惰的肥兔 :http://www.xuanhao360.com/linux-expects/ shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh [email protected] expect "*password:" send "123\r" expect "*#" interact Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使

轻松使用SaltStack管理成千上万台服务器(入门教程)

目录树  引言:一个"非专职运维人员"的烦恼  Salt快速入门  1. 安装配置  2. 安装管理端(master)  3. 安装被管理端(minion)  4. 接受minion的托管请求  5. 测试  Salt的强大功能  1. 批量操作(targeting)  2. 节点分组(nodegroups)  3. 命令执行(execution)  4. 节点信息(grains)  5. 配置管理(state)  6. 小结  Salt state实例解析  1. 目录结构  2.

用shell脚本编写ssh直接修改目标服务器的密码以及ssh的应用

1.在生成环境中经常要修改服务器的密码,以保证安全,可以用shell编写脚本. 用ssh直接修改对方服务器的密码可以用ssh 用户名@登录IP 后跟命令就可以实现,但是需要管理员输入密码后才能操作,为了不让管理员手动进行输入所以用expect解决此方案,由于expect是单独的命令在/bin/bash是无法使用的,所以必须要嵌套使用,<<代表以什么结尾,EOF代表以EOF结尾,spawn输入登录的命令行,expect为期待着问什么,send代表发送需要的内容,\r代表为回车符. 1台服务器修改

使用shell脚本实现用ping检查刀片服务器与主服务器之间的网络连通

为了检查daq01与刀片服务器之间的网络连接状态, 1. 使用ping命令的输出规律,如果可以ping通,会输出0% packet loss值; 如果不能ping通,则不会输出0% packet loss 2. 若ping命令输出0% packet loss执行成功,则表示网络连接正常,否则网络连接不上 3. shell脚本里的&&与 ||的使用,参考 https://blog.csdn.net/a627088424/article/details/20360107 command1 &a

shell脚本之用户管理

#!/usr/bin/env bash ############################### # 脚本名称 : userManager.sh # # 脚本功能 : 账号管理 # # 脚本参数 : 无 # # 创建时间 : 2019-07-25 # # 作 者 : Mr.Guo # # 版 本 : v1.0 # ############################### # 提示信息 []<-() note_message(){ cat <<EOF --------用户管理程

Shell 脚本自动安装公司内部邮箱服务器--Postfix

简介: Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试.在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件.这真是一个让人吃惊的数字.Postfix试图更快.更容易管理.更安全,同时还与sendmail保持足够的兼容性. 搭建企业邮箱的好处: 1.全面统一企业形象,

将window的shell脚本通过ftp传输到Linux服务器后, shell脚本中执行时提示“没有那个文件或目录”的解决办法

出现bad interpreter:No such file or directory的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不Set一下又完全看不出来. 问题分析:1.将windows 下编写好的SHELL文件,传到linux下执行,提示出错.2.出错信息:bad interpreter: 没有那个文件或目录. 问题原因:因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符.脚本文件是DOS格式

Linux学习41 yum实战进阶及shell脚本实现磁盘管理实战

一.概述 1.桌面环境: Windows7,OpenSUSE 13.2,Kubuntu(KDE) 2.yum安装回顾 a.yum程序包管理器 C/S: yum client(yum) yum repository(ftp/http/https) base:主包 extras:额外的包 updates:升级包 repo定义 [id] name= baseurl=http:// http:// b.子命令 list,clean,makecache,grouplist,whatprovides ins