侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

批量管理Linux服务器

2023-12-01 星期五 / 0 评论 / 0 点赞 / 80 阅读 / 4954 字

SSH免密码登陆批量管理的第一步,都需要进行免密码登陆。[blackfox@localhost ~]$ mkdir ~/.ssh[blackfox@localhost ~]$ chmod 700 ~/

SSH免密码登陆

.

批量管理的第一步,都需要进行免密码登陆。

.
[blackfox@localhost ~]$ mkdir ~/.ssh[blackfox@localhost ~]$ chmod 700 ~/.ssh[blackfox@localhost ~]$ cd .ssh[blackfox@localhost .ssh]$ ssh-keygen -t rsa -P # -P 密码,生成id_rsa和id_rsa.pub[blackfox@localhost .ssh]$ cat id_rsa.pub > authorized_keys[blackfox@localhost .ssh]$ chmod 600 authorized_keys[blackfox@localhost .ssh]$ scp -P 52113 authorized_keys [email protected]:/home/blackfox/.ssh # -P 端口[blackfox@localhost .ssh]$ ssh -p 52113 192.168.1.4 date # 测试

pssh并行ssh批操作

.

核心功能:上传、下载、同步、跑ssh命令

. .

批量在远程主机上上传、下载文件时,推荐使用

.
  • 安装pssh
[blackfox@localhost ~]$ python setup.py install # 安装python# 下载pssh:https://pypi.python.org/pypi/pssh/2.3.1,上传服务器[blackfox@localhost batch-tools]$ tar zxvf pssh-2.3.1.tar.gz[root@localhost pssh-2.3.1]$ python setup.py install[blackfox@localhost pssh-2.3.1]$ pssh -H [email protected]:52113 -P date # 查看远程主机时间
  • pssh:在远程多台主机上并行运行命令。
[blackfox@localhost pssh-2.3.1]$ pssh -i -h /home/blackfox/batch-tools/pssh-2.3.1/hosts "uptime" # 查看远程主机负载# 调用sudo命令时,需要设置远程终端sudo免密码[root@localhost blackfox]# visudo# 修改 blackfox ALL=(ALL) NOPASSWD: ALL# 注释 Defaults requiretty # sudo默认tty终端运行,注释后可以在后台运行[blackfox@localhost ~]$ pssh -i -x "-l blackfox" "-p 52113" -h /home/blackfox/batch-tools/pssh-2.3.1/hosts -o info "uptime;uname -a" # -x传多个参数,用空格分开;-l指定用户;-p指定最大线程数;-o重定向内容输出到info文件夹,多个ssh命令用';'隔开。
  • pnuke:在远程多台主机上并行killall某一进程。
[blackfox@localhost ~]$ pnuke -h ~/batch-tools/pssh-2.3.1/hosts httpd # 类似killall,关闭所有远程主机上的httpd服务
  • pscp:把文件并行复制到远程多台主机上,类似于scp命令。
[blackfox@localhost ~]$ pscp -h ~/batch-tools/pssh-2.3.1/hosts -r ~/test ~/test # 本机test目录,复制到远程的test目录
  • pslurp:把文件从远程多台主机复制到本地主机,与pscp命令相反。
[blackfox@localhost ~]$ pslurp -h ~/batch-tools/pssh-2.3.1/hosts -r -L ~/test ~/test new # 远程test目录,复制到本机test目录下192.168.1.4目录下,改名new。 -L指定本机目录
  • prsync:使用rsync协议将文件从本地主机同步到远程多台主机上。
[blackfox@localhost ~]$ prsync -h ~/batch-tools/pssh-2.3.1/hosts -az -r ~/test ~/test # 通过rsync协议同步,-az保持属性,压缩传输

mussh多主机ssh操作

.

批量执行ssh命令,脚本

. .

执行脚本时,推荐使用

.
  • 安装mussh
# 下载地址:https://sourceforge.net/projects/mussh/files/latest/download# 直接解压[root@localhost mussh]# ln mussh /usr/local/bin/mussh # 创建硬链接[root@localhost bin]# mussh -V
  • mussh批管理
[blackfox@localhost bin]$ mussh -o "port=52113" -h [email protected] -c uptime # -c执行ssh命令,多个命令用';'隔开批[blackfox@localhost mussh]$ mussh -o "port=52113" -H hosts -l blackfox -c date # -H读取文件的主机列表 -l用户名,也可以在文件中填写[blackfox@localhost ~]$ mussh -o "port=52113" -H ~/batch-tools/mussh/hosts -s /usr/bin/sh -C "/home/blackfox/bin/learn_shell/1.sh" # -C执行脚本,不可以用相对路径,如~ -s执行脚本的shell路径(默认:sh)

pdsh并行分布式操作

.

批量配置、部署、文件复制等功能

. .

支持交互模式,执行不确定命令时,推荐使用

.
  • 安装pdsh
# 下载地址:https://sourceforge.net/projects/pdsh/files/latest/download[root@localhost pdsh-2.26]# ./configure --with-ssh --with-rsh --with-mrsh --with-mqshell --with-dshgroups --with-machines=/etc/pdsh/machines # --with-[module]启用模块;--with-dshgroups将一组主机列表写入~/.dsh/group或/etc/dsh/group目录下;--with-machines是--with-dshgroups的扩展,将要管理的主机写到/etc/pdsh/machines文件中。[root@localhost pdsh-2.26]# make[root@localhost pdsh-2.26]# make install[root@localhost pdsh-2.26]# pdsh -V
  • 逗比,不能指定主机端口。有谁知道,求解求解~
  • pdsh,pdcp操作,先省略...找到指定端口的法子,再补一下。

广告 广告

评论区