国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

批量管理自動化運維100臺小規模服務器

運維 系統運維 自動化
在企業中經常會用遇到小規模的集群服務器,在日常的管理中經常會遇到重復性的動作,如更新備上百臺服務器上的ssh公鑰、備份上百臺服務器上的/etc/passwd配置文件等等,通常情況下采用專用自動化運維工具assibe。

 一、腳本背景介紹

在企業中經常會用遇到小規模的集群服務器,在日常的管理中經常會遇到重復性的動作,如更新備上百臺服務器上的ssh公鑰、備份上百臺服務器上的/etc/passwd配置文件等等,通常情況下采用專用自動化運維工具assibe,若因資源或技術因素沒有安裝此類服務,此時可以通過腳本實現小規模服務器集群的自動化運維,記住只要是重復3次以上的動作,在自動化運維的時代里必須采用自動化手法進行運維管理。

二、腳本制作技術需求

2.1 SSH免密碼登陸認證

服務器的遠程管理認證通常有兩種方式認證,

***種采用對稱加密算法的賬號密碼登錄認證,對稱加密即加密和解密使用同一個密鑰,最常見的算法有DES(Data Encryption Standard)、3DES、AES(Advanced Encryption Standard)等,優勢為加密和解密使用同一個密碼,效率高,缺點是密鑰交換無安全保障,數據來源無法確認。

第二種采用非對稱加密算法,利用密鑰完成認證,非對稱加密算法通常有RSA、DSA,其主要作用是生成公鑰和私鑰,公鑰加密的數據只能私鑰解密,私鑰加密的數據只能是公鑰解密(數字簽名),通過私鑰能算出公鑰,但通過公鑰無法推算出私鑰,具體原理見如下:

 

ssh-keygen命令用來生成公鑰和私鑰密鑰對的工具,通常用法如下

命令

選項

含義

ssh-keygen

-t

指定創建的密鑰對的加密算法,默認為rsa

-p

輸入舊的密碼,在新建密鑰對時不加此選項,但可更新現有私鑰的密碼

-q

靜默輸出此

-f

指定輸出路徑,ssh免密鑰登錄時,必須在/root/.ssh/目錄下

ssh-copy-id

-i

指定公鑰所在位置

 

  1. [root@centos7  ~]#ssh-keygen -t rsa -f .ssh/id_rsa                  #生成秘鑰對 
  2.  Generating public/private rsa key pair. 
  3.  Enter passphrase (empty for no passphrase):        #如若選擇給私鑰加口令,則在每次使用時,提供口令 
  4.  
  5. Enter same  passphrase again:                                   時,在使用時需輸入口令,如不輸入口令時,需保護好 
  6.  Your identification has been saved in .ssh/id_rsa.口令,一旦丟失相當于***鑰匙。 
  7.  Your public key has been saved in .ssh/id_rsa.pub. 
  8.  The key fingerprint is
  9.  37:18:3a:18:f7:43:f1:b0:59:5a:75:88:29:bf:ac:5d root@centos7.location.com 
  10.  
  11. [root@centos7  ~]#ls .ssh/                #驗證生成的密鑰對 
  12.  id_rsa   id_rsa.pub   known_hosts  
  13.  [root@centos7 ~]#ssh-copy-id -i .ssh/id_rsa.pub root@192.168.100.128  #將密鑰上傳到免登陸服務器, 
  14.  
  15.                                                                                                              自動加載到/root/.ssh目錄 
  16.  
  17. #################################################################################################### 
  18.  
  19. [root@centos6 ~]#  ifconfig eth0 
  20.  eth0    Link encap:Ethernet   HWaddr 00:0C:29:AD:7B:C1   
  21.             inet addr:192.168.100.128   Bcast:192.168.100.255   Mask:255.255.255.0 
  22.  
  23. [root@centos6 ~]#  ls .ssh/     #驗證發現通過ssh-copy-id上傳,自動將key定義為authorized.keys 
  24.  authorized_keys   known_hosts   #上傳到服務器的公鑰自動更名的依據可查看/etc/ssh/ssh_config 
  25.  
  26. ################################此時完成免密碼登錄認證##############################################  

2.2 Expect實現key分發

在上百臺服務器中,對公鑰分發不可能經過上百次的手工輸入key,像前文所述在在自動化運維時代里超過3次的動作必須用自動化思想實現自動化運維。

Expect是交互式語言,具體學習可參考http://www.tcl.tk

2.3 pssh家族命令詳解

pssh提供了子工具,可以實現多臺服務器的批量管理,如同時在多臺主機上批量執行某命令,管理同步進程,高效的復制文件,需要注意的是:使用pssh命令時,命令參數中不支持變量(如$HOSTNAME)和通配符(如*)等,如果命令參數中有變量和通配符時,pssh會人為是執行本地的命令,而非遠程主機的命令。下面將常用命令及選項逐一介紹

pssh命令詳解:

命令

選項

含義

Pssh

-h

指定文件中用戶主機列表

-H

指定主機,-H “root@host1 root@host2 ”

-i

將每個主機標準輸出輸送到當前終端

-o

指定正確的標準輸出目錄,如果-i顯示過多,可以選擇指定輸出某個目錄,并自動創建以IP命名的文本用來保存輸出。

-e

指定錯誤輸出目錄

-l

指定以某用戶的方式登錄等價于user@host1中的user

-A

Key的認證基于用戶,如若沒有對某些用戶認證key,但是要批量操作加用此選項表示啟用密碼登錄認證

  

  1. [root@centos7  ~]#pssh -H root@192.168.100.128  -i  "sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config"                           #通過pssh批量關閉seLinux,在此僅舉例一個 
  2.  
  3. [root@centos7  ~]#pssh -H root@192.168.100.128  -i  setenforce 0  #批量發送指令 
  4.  
  5. [1] 01:33:24  [SUCCESS] 192.168.100.128 
  6.  
  7. [root@centos7  ~]#pssh -H xuewb@192.168.100.128  -i  hostname 
  8.  
  9. [1] 01:41:00  [FAILURE] xuewb@192.168.100.128 Exited with error code 255 
  10.  
  11. Stderr: pssh  error: SSH requested a password. Please create SSH keys or use 
  12.  
  13. the -A option to  provide a password
  14.  
  15. Permission denied  (publickey,gssapi-keyex,gssapi-with-mic,password). 
  16.  
  17. [root@centos7  ~]#pssh -H xuewb@192.168.100.128  -A -i  hostname   #當不支持ssh的key認證時,通過 
  18.  
  19. Warning: do not  enter your password if anyone else has superuser  -A選項,使用密碼認證批量執行指令 
  20.  
  21. privileges or  access to your account. 
  22.  
  23. Password
  24.  
  25. [1] 01:41:12  [SUCCESS] xuewb@192.168.100.128 
  26.  
  27. centos6.localdomain 
  28.  
  29. [root@centos7  /app]#pssh -H 192.168.100.128 -o /app -e /app   -i "hostname" 
  30.  
  31.                                                      #將標準錯誤和標準正確重定向都保存至/app目錄下 

PSCP.PSSH命令詳解

pscp.pssh功能是將本地文件批量復制到遠程主機,其語法結構為:

pscp [-vAr] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] local remote

選項用法pssh的選項與pssh保持一致,scp選項如下,舉例說明:

命令

選項

含義


  Pscp-pssh

            -v

顯示復制過程

            -a

復制過程中保留常規屬性

            -r

遞歸復制目錄

 

  1. [root@centos7 ~]#pscp.pssh -H 192.168.100.128 /root/test/curl.sh /app/  
  2.  
  3. [1] 03:22:05 [SUCCESS] 192.168.100.128                      #將本地curl.sh 復制到/app/目錄 
  4.  
  5. [root@centos7 ~]#pscp.pssh -h host.txt  /root/test/curl.sh /app/  
  6.  
  7. [1] 03:22:05 [SUCCESS] 192.168.100.128                      #將本地curl.sh 批量復制到/app/目錄 
  8.  
  9. [root@centos7 ~]#pscp.pssh -H 192.168.100.128  /root/test/mcurl.sh /root/test/mysql.sh /app/ 
  10. [1] 03:39:17 [SUCCESS] 192.168.100.128                      #將本地多個文件批量復制到/app/目錄 
  11.  
  12. [root@centos7 ~]#pscp.pssh -H 192.168.100.128  -r /root/test/ /app/ 
  13. [1] 03:40:41 [SUCCESS] 192.168.100.128                      #將本地目錄批量復制到/app/目錄  

PSLURP.PSSH命令詳解

pslurp.pssh功能是將遠程主機的文件批量復制到本地,在復制過程中注意

pslurp [-vAr] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par][-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] [-L localdir] remote local(本地名)

命令

選項

含義


Pslurp-pssh

            -L

指定從遠程主機下載文件存儲的目錄,local是下載到本地后的名稱,語法結構中必須跟local

            -a

指定主機,-H “root@host1 root@host2 ”

            -r

將每個主機標準輸出輸送到當前終端

 

  1. [root@centos7 ~]#pslurp -H 192.168.100.128 -L /app/ -r /app/test test(存儲到本地后的名稱) 
  2. [1] 04:14:13 [SUCCESS] 192.168.100.128                      #批量下載服務器中的文檔到本地,-L指定下                                                             載目錄,local存儲到本地的名稱 
  3. [root@centos7 ~]#pslurp -H 192.168.100.128 -L /app/ /app/mcurl.sh mcurl.sh 
  4. [1] 04:13:13 [SUCCESS] 192.168.100.128                      #批量下載服務器中文檔到本地 
  5. [root@centos7 ~]#pslurp -H 192.168.100.128 -L /app/ /etc/passwd pawd 
  6. [1] 04:23:39 [SUCCESS] 192.168.100.128      #批量下載目標服務器的passwd文件,下載到本地更名為pawd  

三、腳本功能及實現過程

3.1 腳本運行環境

服務器集群環境或百臺左右服務器的管理,如若太多服務器得借助專業運維工具assible。

3.2 腳本功能介紹

腳本在自動化運維通常實現如下功能:

(1)批量執行命令,并將結果返回終端或日志文件;

(2)文件批量復制,將本地的文件批量上傳給遠程主機;

(3)文件批量下載,將遠程主機的文件批量下載至本地;

3.3 腳本編寫思路

自動化運維腳本的編寫思路:

***步:生成key,利用Expect將公鑰分發給服務器;

第二步:利用pscp.pssh向遠程主機(主機列表文件)推送腳本

第三步:利用pssh遠程主機發送執行腳本指令

第四步:利用pslurp.pssh回收腳本及日志文件,針對性進行處理

3.4 腳本編寫案例

***步:編寫Expect腳本,實現key的上傳

  1. #!/bin/expect 
  2.  # 
  3.  if { $argc != 2 } { 
  4.       send_user "usage: send-rsa-id file host \n" 
  5.       exit 
  6.   } 
  7.   #define var 
  8.   set password wbxue.blog 
  9.   set file [lindex $argv 0 ] 
  10.   set ip [lindex $argv 1 ] 
  11.   #start exec command 
  12.   spawn ssh-copy-id -i $file root@$ip 
  13.   expect { 
  14.           "yes/on" {send "yes\r";exp_continue} 
  15.           "*password*" {send "$password\r"
  16.  } 
  17.   expect eof    

第二步:利用bash腳本調用Expect腳本批量給服務器上傳(此時已實現免密碼登錄)

  1. #!/bin/bash 
  2.   file=/root/.ssh/id_rsa.pub 
  3.   net=192.168.100 
  4.   ip=$net.$n 
  5.   for n in {1..255};do 
  6.       expect send-rsa-pub.exp $file $ip 
  7.   done     

第三步:編寫業務腳本(腳本腳本***生產相關日志文件,有利用回收日志進行相關處理)檢測磁盤的使用率

  1. #!/bin/bash 
  2.  
  3. >/var/log/diskcheck.log 
  4.  
  5. df |grep "/dev/sd" |while read disk ;do 
  6.  
  7.     diskused=`echo $disk|sed -r 's/.* ([0-9]+)%.*/\1/'
  8.     devname=`echo $disk |cut -d " " -f1` 
  9.     [ $diskused -ge 1 ] && echo "$devname will be full:$diskused%" >> /var/log/diskcheck.log 
  10. done  

第四步:推送腳本、發送執行腳本指令、定期回收腳本日志進行處理

  1. [root@centos7 ~]#pscp.pssh -H 192.168.100.128 /root/diskcheck.sh /app/ 
  2.  
  3. [root@centos7 ~]#pssh -H root@192.168.100.128 -i bash /app/diskcheck.sh 
  4.  
  5. [root@centos7 ~]#pslurp -H 192.168.100.128 -L /app/ /var/log/diskcheck.log diskcheck.log  

當然也可以通過批量執行命令進程處理,但是通過批量執行命令處理相對效率較慢,因此推薦使用腳本處理業務,如上為舉例說明的一個案例,其他業務具體情況可以通過替換此案例中的腳本來實現各位運維界兄弟們的需求。

責任編輯:龐桂玉 來源: 馬哥Linux運維
相關推薦

2014-08-04 10:10:35

IT運維自動化運維

2011-07-25 14:53:37

Unix服務器運維

2016-03-30 11:53:51

Cobbler運維運維自動化

2024-01-09 13:09:00

2018-11-27 11:17:50

半自動化運維服務器

2022-06-09 13:45:18

vivoK8S集群Kubernetes

2012-10-22 14:54:48

2010-08-12 17:39:07

網站運維自動化管理

2012-05-05 21:48:43

puppet自動化運維

2012-05-05 21:22:40

2012-05-05 22:27:46

puppet自動化運維

2018-06-23 07:31:05

2012-05-05 21:03:35

puppet自動化運維

2017-10-13 13:14:35

互聯網

2012-05-05 22:10:13

puppet自動化運維

2014-03-12 15:04:08

資產管理系統cmdb自動化運維

2013-04-17 15:48:51

2015-10-08 10:55:23

云服務自動化運維 ANSIBLE

2012-11-20 17:22:57

2018-07-26 13:50:37

IT架構運維
點贊
收藏

51CTO技術棧公眾號

激情欧美一区二区| 老司机免费在线视频| 在线国产欧美| 日韩av电影手机在线| 在线āv视频| 欧美日韩精品欧美日韩精品一综合| 五月天av在线播放| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲欧洲国产精品久久| 国产一在线精品一区在线观看| 国产亚洲成aⅴ人片在线观看| 好吊色欧美一区二区三区视频| 亚洲小说图片| 91av视频在线观看| 国产精品对白| 欧美尺度大的性做爰视频| 亚洲精品555| 一区二区在线视频播放| 免费观看成人性生生活片| 日韩av网址在线| rebdb初裸写真在线观看| 精品国产3级a| 亚洲风情在线资源| 国产一区二区三区视频免费| 中文字幕一区久| 亚洲午夜av电影| 亚洲精品乱码日韩| 欧美福利在线观看| 黄色影院一级片| 国产一区二区视频在线播放| 国产高清不卡无码视频| 成人精品免费看| 少妇性l交大片| 亚洲三级在线看| 黄污在线观看| 欧美最猛黑人xxxxx猛交| 精品国产99久久久久久| 欧美mv日韩mv国产| 精品裸体bbb| 97在线看福利| 一区二区蜜桃| 美国av一区二区三区| 久久精品久久久精品美女| 91.com在线| 亚洲国产激情av| 欧美激情亚洲一区| 亚洲视频精选| 国产高清在线不卡| 国产精品99免费看| 亚洲伊人婷婷| 国产欧美一区二区精品性色| 日本1区2区3区中文字幕| 91成人免费在线| 亚洲电影观看| 国内成人精品视频| 欧美成人自拍| 韩国黄色一级大片| 亚洲欧洲精品一区二区三区不卡| 日韩精品系列| 亚洲国内精品在线| 美女主播精品视频一二三四| 国产精品传媒在线| 国产精品久久久久一区二区国产 | 黄色成人在线观看网站| 欧美精品久久久久久久久久| 欧美精品乱码| 日韩欧美在线观看强乱免费| 久久精品亚洲国产奇米99| 欧美巨乳在线| 在线中文字幕日韩| 亚洲乱码电影| 亚洲乱码中文字幕久久孕妇黑人| 午夜伊人狠狠久久| 天堂√8在线中文| 国产欧美一区二区在线| 在线国产视频| 综合激情国产一区| 7777久久香蕉成人影院| 国产精品69久久久| 欧美在线影院一区二区| 国产在线不卡一区二区三区| aaa级精品久久久国产片| 91理论电影在线观看| 免费在线观看av片| 欧美专区福利在线| 国产精品自产自拍| 国产日产精品久久久久久婷婷| 欧美精品在线免费播放| 久久一二三四| 亚洲做受高潮| 久久久久久久久久久免费精品| 亚洲一区激情| 久久久视频在线| 亚洲精品孕妇| 麻豆免费网站| 日韩在线免费视频| 三级一区在线视频先锋| 欧美另类极限扩张| 欧美美女15p| 激情综合色丁香一区二区| 日本v片在线免费观看| 久久久亚洲福利精品午夜| 国产酒店精品激情| 欧美人xxx| 成人午夜两性视频| 日韩一区日韩二区| 精品国产亚洲一区二区三区在线 | 波多野结衣成人在线| 亚洲视频精选在线| 日韩精品欧美在线| 中文字幕精品影院| 欧美色图天堂网| 国产精品一级在线观看| 神马影院午夜我不卡| 欧美曰成人黄网| 国产精品成人a在线观看| 国产黄色av免费看| 久久久久久久久亚洲| 成人app下载| 巨胸喷奶水www久久久免费动漫| 亚洲国产一区二区三区在线| 欧美精品一二三| 欧美网站在线| 欧美色图另类| 91中文字精品一区二区| 午夜精品影院在线观看| 最新精品国偷自产在线| 综合激情丁香| 欧美亚洲视频一区二区| 国产精品免费av| 黑色丝袜福利片av久久| 日本激情视频在线| 国内精品久久久久久| 日本三级一区| 亚洲砖区区免费| 日韩欧美高清一区| 日韩高清不卡一区二区| √8天堂资源地址中文在线| 日韩激情视频| 日韩成人av一区| 精品制服美女久久| 精品欧美一区二区三区在线观看 | 欧美熟乱第一页| 激情欧美日韩| 91精品久久久| 亚洲免费视频播放| 日韩在线观看网站| 国产精品热久久久久夜色精品三区 | 久久久亚洲精品视频| 中文字幕日韩一区| 亚洲传媒在线| 天堂v视频永久在线播放| 亚洲aaa激情| 日韩亚洲欧美一区二区三区| 久久99蜜桃精品| 国产精品亚洲欧美一级在线| 永久免费的av网站| 国产日韩欧美视频在线| 91精品国产91综合久久蜜臀| 精品在线观看免费| 9.1麻豆精品| 黄页网址大全在线播放| 亚洲最快最全在线视频| 成人免费在线播放| 最新国产在线观看| 国内自拍中文字幕| 2018中文字幕一区二区三区| 在线免费不卡电影| 久久99国产乱子伦精品免费| 国产一区二区三区视频在线| 天海翼一区二区三区四区在线观看 | 91在线免费网站| 日韩视频一区二区三区在线播放| 国产精品99久久久久久久vr| 成人激情自拍| 91精彩视频在线播放| 久久久久久人妻一区二区三区| 奇米影视亚洲狠狠色| 欧美一区二区三区啪啪| 久久久久久97三级| 欧美网站在线| 亚洲免费一区| 国产视频福利一区| 欧美在线免费视屏| 成人黄色小视频在线观看| 网红女主播少妇精品视频| 久久bbxx| 亚洲视频在线观看一区二区三区| 91精品视频在线| 曰本色欧美视频在线| 欧美性生交大片免网| 成人国产一区二区三区精品| 久久精品不卡| 精品123区| 国产高清视频免费最新在线| 激情伊人五月天| 精品国产乱码久久久久| 国内外成人免费激情在线视频网站| 日韩欧美电影一二三| 亚洲一二三四在线|