欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell交互批量更改主機名的方法

 更新時間:2016年12月19日 16:13:46   投稿:daisy  
大家可能會遇到這種情況,需要批量修改主機名和同步hosts文件到多臺主機,例如新購置了一批云服務(wù)器等,可能主機名稱上并不能滿足你的命名規(guī)則或規(guī)范,但如果一臺臺去更改可能就太慢又無聊,所以shell腳本絕對是你的最佳選擇。下面看看Shell批量更改主機名的方法。

需求分析:

     1、ssh公鑰拷貝,提供無密碼管理。

     2、批量同步hosts文件到多臺主機。

     3、批量修改主機名。

實現(xiàn):

首先編輯一份用于同步到多臺主機的hosts文件

vi /etc/hosts
192.168.0.1 server1
192.168.0.2 server2
192.168.0.3 server3
192.168.0.4 server4
192.168.0.5 server5
192.168.0.6 server6
192.168.0.7 server7
192.168.0.8 server8
192.168.0.9 server9
192.168.0.10 server10

然后編輯shell腳本:

vi changename.sh
#!/bin/bash
# This is a shell script to change hostname
# version 0.1
# Created in 2015.8.11
# Creator Edison
export PATH=$PATH
export USER=root
export SNAMEPRE=server
export PASSWD=test01  #定義密碼
for i in {1..10};
do /usr/bin/expect << EOF   ##這里用到了expect完成了確認(rèn)yes和密碼輸入交互
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $USER@$SNAMEPRE$i
expect {
"(yes/no)?" {send "yes\r";exp_continue}
"password:" {send "$PASSWD\r"}
}
interact
expect eof
EOF
ssh $USER@$SNAMEPRE$i "sed -i s/^HOST.*/HOSTNAME=$SNAMEPRE$i/ /etc/sysconfig/network";
scp /etc/hosts $USER@$SNAMEPRE$i:/etc/hosts;
done;

這里用到了expect完成自動交互確認(rèn)和密碼輸入。

Expect是一個免費的編程工具語言,用來實現(xiàn)自動和交互式任務(wù)進(jìn)行通信,而無需人的干預(yù)。Expect的作者Don Libes在1990年 開始編寫Expect時對Expect做有如下定義:Expect是一個用來實現(xiàn)自動交互功能的軟件套件 (Expect [is a] software suite for automating interactive tools)。使用它系統(tǒng)管理員 的可以創(chuàng)建腳本用來實現(xiàn)對命令或程序提供輸入,而這些命令和程序是期望從終端(terminal)得到輸入,一般來說這些輸入都需要手工輸入進(jìn)行的。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果友誼大家可以留言交流。

相關(guān)文章

  • shell中set?-e的具體使用

    shell中set?-e的具體使用

    set?-e?是一個?Shell?命令,它用于在腳本運行時自動退出,本文主要介紹了shell中set?-e的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 詳解NC反彈shell的幾種方法

    詳解NC反彈shell的幾種方法

    這篇文章主要介紹了詳解NC反彈shell的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 查詢上次Ubuntu重啟時間的方法命令總結(jié)

    查詢上次Ubuntu重啟時間的方法命令總結(jié)

    在大多數(shù)情況下,Linux 系統(tǒng)的關(guān)機時間、重啟日期和運行時長等調(diào)試信息在系統(tǒng)故障排錯時會顯得比較重要,本文將詳細(xì)介紹多種方法來查詢上次 Ubuntu 重啟的時間,并解釋每種方法的背后原理,需要的朋友可以參考下
    2024-05-05
  • shell命令行參數(shù)用法簡介

    shell命令行參數(shù)用法簡介

    本文介紹了shell命令行參數(shù)的用法,對于普通腳本語言諸如perl python等,寫一個腳本程序,包裝命令行參數(shù)時,一般都是用getopt之類的;c語言也類似
    2014-04-04
  • 用shell腳本監(jiān)控進(jìn)程是否存在 不存在則啟動的實例

    用shell腳本監(jiān)控進(jìn)程是否存在 不存在則啟動的實例

    這篇文章主要介紹了用shell腳本監(jiān)控進(jìn)程是否存在 不存在則啟動的實例,需要的朋友可以參考下
    2016-03-03
  • 積累linux常用命令大全

    積累linux常用命令大全

    Linux命令是對Linux系統(tǒng)進(jìn)行管理的命令。對于Linux系統(tǒng)來說,無論是中央處理器、內(nèi)存、驅(qū)動、鍵盤、鼠標(biāo),還是用戶等都是文件,Linux命令是它正常運行的核心,這篇文章主要總結(jié)了linux常用命令,需要的朋友可以參考下
    2015-08-08
  • Linux 中的Edquota命令

    Linux 中的Edquota命令

    Linux edquota命令用于編輯用戶或群組的磁盤配額。下面通過本文給大家分享Linux 中的Edquota命令,感興趣的朋友一起看看吧
    2017-10-10
  • Shell腳本中使用function(函數(shù))示例

    Shell腳本中使用function(函數(shù))示例

    這篇文章主要介紹了Shell腳本中使用function(函數(shù))示例,本文著重講解的是如何在shell腳本中使用自定義函數(shù),并給出了兩個例子,需要的朋友可以參考下
    2014-11-11
  • Linux Shell 如何獲取參數(shù)的方法

    Linux Shell 如何獲取參數(shù)的方法

    這篇文章主要介紹了Linux Shell 如何獲取參數(shù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Shell中使用exec命令的方法和用途

    Shell中使用exec命令的方法和用途

    本文主要介紹了Shell中使用exec命令的方法和用途,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評論