dsh linux,通过dsh批量管理Linux服务器(一)【感谢作者的无私分享】
通过dsh批量管理Linux服务器
目前在企业网络中越来越多的出现Linux服务器,而如何方便高效的管理大量的Linux服务器是系统管理员非常关心的一个问题。现在有大量的开源管理工具,可以实现这样的管理工具,现在给大家介绍一个通过命令行有效地管理大量Linux的工具---dsh。
【51CTO独家特稿】目前在企业网络中越来越多的出现Linux服务器,而如何方便高效的管理大量的Linux服务器是系统管理员非常关心的一个问题。现在有大量的开源管理工具,可以实现这样的管理工具,现在给大家介绍一个通过命令行有效地管理大量Linux的工具---dsh。
dsh是专为在远程系统上运行Shell命令设计的,通过dsh可以简化对大量计算机的操作。dsh命令语法如下:dsh [-m machinename | -a | -g groupname] [-f machinefile] [-M] [-q] [--wait-shell]--
commandline
常用选项:
-M:在显示远程命令执行的输出时,在前面加上主机名。
-a:如果经常操作同一组计算机,可以创建一个全局集合的组。$HOME/.dsh/machines.list文件是全局集合的定义。在该文件中每行一个计算机的IP地址,在指定-a后,dsh就会在machines.list中列出的所有计算机上执行指定的命令。
-q:指定使用安静模式输出。
-m machinename:指定需要执行指定命令的计算机。
-g groupname:指定需要执行指定命令的计算机组,主机名组在$HOME/.dsh/group/目录是定义,每个计算机组一个文件,文件名即是组外,在文件中每行一个计算机IP地址。
-f machinefile:指定计算机列表文件。
-wait-shell:在默认情况下,dsh是并行地在计算机上运行命令。如果希望顺序地运行命令则指定--wait-shell。
下面在我们一起来看看在如下图的网络中如何通过dsh有效的管理Linux服务器。
1、 dsh是通过SSH方式连接到服务器,所以需要在所有服务器上安装SSH。
2、 在srv.example.zqin上通过如下命令安装dsh。(wget安装方法见另一篇文章)srv:~# apt-get -y install libdshconfig1 libdshconfig1-dev dsh
3、 在使用dsh进行管理时,需要输入被管理服务器的用户名及密码,为了使用起来更加方便可使用如下命令将SSH的公钥复制到被管理服务器。srv:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
dd:e9:d3:84:fc:4c:ff:b4:b0:fa:12:fa:fd:49:3d:4d root@testsrvThe key's randomart p_w_picpath is:
+--[ RSA 2048]----+
| |
| |
| |
| . o o |
| S . = o E|
| o * oo|
| . +.+o=|
| . ...+.=|
| .o++.+.|
+-----------------+
srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.21:/root/.ssh/authorized_keys
srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.22:/root/.ssh/authorized_keys
srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.31:/root/.ssh/authorized_keys
srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.32:/root/.ssh/authorized_keys
如果被管理的服务器比较多也可以编写个脚本来复制公钥。下面是一个复制公钥到多个服务器上的脚本。for i in $(seq 200 253)
do
ssh 192.168.159.$i -C mkdir /root/.ssh
scp ~/.ssh/id_rsa.pub 192.168.1.$i:/root/.ssh/authorized_keys
done
4、 为了方便使用dsh,可以将所有被管理服务器分类并存放到对应文件中。
将所有被管理服务器的IP地址(或FQDN)加入$HOME/.dsh/machines.list文件中(每行一个)。
在$HOME/.dsh/group/目录下建立名为web的文件,并将web1、web2的IP地址(或FQDN)加入其中(每行一个)。
在$HOME/.dsh/group/目录下建立名为db的文件,并将db1、db2的IP地址(或FQDN)加入其中(每行一个)。
在上述配置完成后就可以在srv上通过dsh进行批量操作了,下面我们一起来看几个例子。
1、 在db1.example.zqin上执行reboot命令。srv:~# dsh -M -m db1.example.zqin -- reboot
2、 在$HOME/.dsh/machines.list文件中定义的所有服务器上同时执行updatedb命令。srv:~# dsh -M -a -- updatedb
3、 在$HOME/.dsh/group/web文件中定义的所有服务上面上同时执行命令。srv:~# dsh -M -g -- /etc/init.d/apache2 restart
dsh linux,通过dsh批量管理Linux服务器(一)【感谢作者的无私分享】相关推荐
- linux批量管理服务,通过PSSH批量管理Linux服务器
pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的.使用是必须在各个服务器上配置好密钥认证访问. pssh 包安装 5 个实用程序: pssh 在多个主机上并行地运 ...
- 用Python写脚本:通过ssh在Windows下批量管理Linux
对于超过10台以上的linux服务器,就需要考虑如何进行批量管理了. 我了解的通常的方法有以下几种: 一:在linux系统下,编写except脚本,通过ssh远程执行命令.上传下载文件等. 二:使用S ...
- Ansible批量管理Windows服务器,winrm配置
(一)Ansible简介 Ansible 是一款轻量级的开源的自动化运维工具,支持 linux 和 windows(只支持 client,并且部分模块),利用 Ansible 可以简单批量的配置系统, ...
- 远程管理linux系统工具,远程管理Linux系统工具的设计与实现Linux013
一种远程管理Linux系统工具的设计与实现 摘 要 现在,Linux已经是应用比较广泛的操作系统之一,在其系统中有很多的服务.为了实现远程配置和管理Linux中的各种服务,需要有一种远程管理Linu ...
- linux 下mysql的管理,Linux下 MySQL安装和基本管理
•安装linux一些必须的包: 1.yum install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-deve ...
- 【Linux 内核】进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )
文章目录 一.Linux 内核中的进程状态 二.TASK_RUNNING 状态 三.TASK_RUNNING 状态 四.TASK_UNINTERRUPTIBLE 状态 五.__TASK_STOPPED ...
- linux版_巧用linux版powershell,管理linux下的docker
owershell,docker,cli,命令,docker ps,docker image 第一章 在linux中搭建docker环境 目的: 在任意版本的linux(物理机,虚拟机,节点机)中,安 ...
- linux系统下卷组管理,Linux LVM卷组管理
Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...
- 【linux】监控和管理linux进程
ps:获取瞬间所有进程信息 PID为进程的ID编号,唯一. TTY为进程运行的位置,包括了后台(看不见),前台(可以看见). CMD为进程的程序名或者是启动命令. ps拿到一瞬间的状态->tim ...
- linux php 用户权限管理,LINUX教程:Linux用户及权限管理
<LINUX教程:Linux用户及权限管理>要点: 本文介绍了LINUX教程:Linux用户及权限管理,希望对您有用.如果有疑问,可以联系我们. [文件治理.管道.用户及组治理.用户及权限 ...
最新文章
- 虚析构函数? vptr? 指针偏移?多态数组? delete 基类指针 内存泄漏?崩溃?...
- python 视频字幕替换_利用python调整srt字幕时间轴
- Android音视频之AudioRecord录音(一)
- 《从零开始走进FPGA》导读
- Vue中的join(),reverse()与 split()函数
- java中vector,array,list,arraylist的区别
- 简单区块链Python实现
- 服务器不能用pe安装win7系统安装,WinPE无法安装win7系统的完美解决方案
- 欢迎使用CSDN-markdown编辑器11345
- 如何查看Windows 桌面壁纸的位置
- java宠物商店管理系统_Java实现宠物商店管理系统
- Java解析Excel 获取文本和图片信息
- 启动牛市的密钥藏宝计划(TPC),火热来袭!
- 【计算机网络】湖科大学习笔记---数据链路层
- 连接真机开发安卓(Android)移动app MUI框架 添加购物车等——混合式开发(四)...
- APP开发流程工作详解
- 干净实用:装机必备绿色软件集锦
- 【论文阅读】Cleanits: A Data Cleaning System for Industrial Time Series
- git pull 代码库时提示冲突需Merge 快速解决代码同步遇到的冲突问题 so easy的方法
- 如何在Microsoft PowerPoint中创建或删除悬挂缩进