CheungSSH比Ansible更優秀的Linux SSH批量管理伺服器 執行命令上傳下載自動化運維工具
安裝部署:
第一步: [ root ~]# yum install -y gcc
第二步:[ root ~]# yum install -y python-devel
第三步 到官網下載pycrypto模組: wget --no-check-certificate https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
第四步 解壓並安裝: [ root ~]# tar xvf pycrypto-2.6.1.tar.gz
[ root ~]#
[ root ~]# python setup.py install
第五步 到官網下載paramiko模組:[ root ~]# wget --no-check-certificate https://pypi.python.org/packages/source/p/paramiko/paramiko-1.9.0.tar.gz
第六步 解壓並安裝 : [ root ~]# tar xvf paramiko-1.9.0.tar.gz
[ root ~]#
[ root ~]# python setup.py install
現在您需要修改一下配置檔案,也就是指定程式如何執行,開看下一下配置檔案介紹:
[root ~]# ./Auto_SSH_Manager_Stand_V85.py #先執行一下,會生成一些初始化配置檔案
CMD>>>>exit #然後退出,就算部署好了,接下來就可以修改配置檔案,就能使用啦!!
[[email protected] ~]# more /cheung/conf/cheung.conf #先看看配置檔案哦!
[AUTO_SSH]
Servers=localhost,127.0.0.1 #這裡是遠端伺服器的IP,也就是被管理的伺服器
Username=root #伺服器對應的賬戶名,也就是遠端伺服器上的賬戶名
Password=zaq1ZAQ! #伺服器對應的賬戶password,也就是遠端伺服器上的賬戶password
Useroot=n #是否使用 su – root ,我設計的是,既可以su – root,也可以 sudo ,就是沒有設計成Ansible 的 sudo 還要加 su ,我認為那是繁瑣的。
#如果您是剛剛使用我的程式,您只需要配置以上就行了,以上是基本的配置, 以下是高階配置哦!
#IP_User=abc #如果您的眾多伺服器中,有些伺服器的使用者名稱不盡相同,那麼您可以在此處指定額外的使用者名稱,比 如www.baidu.com_User=administrator;
#IP_Password=1234567 #同上理
#IP_Port=222 #同上理
#Passwordroot=abcdef #如果使用了su – root ,此處需要指定root的password
#Timeout=3 # 指定登陸伺服器的響應超時時間
#RunMode=M #使用多執行緒執行程式
#UseKey=n # 是否使用金鑰登入
#Deployment=n # 是否使用部署模式,比如在更新Tomcat,Apache 的時候,需要逐一進行部署,使用該模式後, 程式會結果您指定的日誌資訊進行判斷重啟是否成功,如果成功,則自動進行下一個伺服器的部 署。否則會有提示
#ListenFile=/var/log/messages #使用了部署模式後,您需要制定一個日誌檔案, 讓程式去讀取您指定的關鍵資訊
#ListenTime=60 #使用了部署模式後,程式讀取您指定的日誌資訊時間,預設為60秒鐘,如果在指定時間未讀取到相關資訊,則認為部署失敗。
#ListenChar=Server startup #使用了部署模式後, 您指定的字元資訊,如果讀取到這個資訊,那麼就認為部署成 功, 伺服器將自動進行下一個部署,比如tomcat中如果出現這個字元,那麼可以認為是 啟動成功了的,當然要排除啟動後的一些404,500錯誤。因為這裡只判斷啟動是否成功
Port=22 #遠端伺服器的埠,預設是22
IP_Port #不同伺服器的不同埠, 可以此處指定。
演示一、執行一個命令uptime看下各個伺服器的執行情況: (請注意,這裡執行命令,與您在Linux的終端下執行命令是一模一樣的哦!這裡就比Ansible的操作更簡單!)
[root ~]# ./Auto_SSH_Manager_Stand_V85.py #這樣就能執行程式了
另外,您還能看到的是,每次執行了命令, 我的程式都會統計:用時多少 ? 有多少伺服器執行成功了?
演示二、假如您是系統管理員,每天要收集各個伺服器的Disk資訊,來看看我這個程式能為您做的:
1 假如,您用這個檢查您的根 “/” 分割槽使用量 :df -h|awk '$NF=="/"{print $(NF-1)}' 看看這個命令在我的程式裡如何執行:(當然,這只是一個普通的linux系統命令而已,您可以執行是mkdir /tmp/test , ps -fel 等等。。Linux系統命令)
也許此時您會覺得,這樣在螢幕上顯示,我沒法收集起來啊?那您的擔心,我完全為您考慮到了,來看下日誌:tail -f /cheung/logs/auto_ssh.log
看到了嗎? 我的日誌裡面,已經為您記錄好了每個命令的執行結果,所以,您只需要執行命令, 然後就可以在日誌裡面提取出結果來, 這樣, 完全不用人工監督!
演示三、批量的下載各個伺服器的檔案到本地來,比如說,您要下載localhost這個伺服器、127.0.0.1 這兩個伺服器的/var/log/messages日誌檔案到您的本地伺服器來(當然了,我這裡是演示,只能給127.0.0.1和localhost做示範哈,因為敏感問題哦!當然您可以理解成為完全不同的伺服器)
演示四、批量的從多個伺服器上同時下載多個檔案到本地:
假如有一天,您的遊戲伺服器有了問題,您的領導讓您把N多個伺服器上的Tomcat日誌從5月1日到5月8日的檔案都拿到本地來讓研發分析,那麼這個時候,我的這個程式就能幫到您的忙了(注意哦, 是每個伺服器都同時下載多個檔案哦!):
看看,多個檔案就從多個伺服器上下載下來了哦!霸道吧?
演示五、批量上傳檔案到遠端伺服器 :
演示六、自動化部署Tomcat、Apache、Nginx、Weblogic程式:(這個程式可是我的王牌設計哦!)
先介紹一下場景:您有100臺伺服器,今晚就需要部署Tomcat程序升級包,部署完了以後,需要重啟Tomcat吧?
有個前提,您的領導不允許你因為部署,就全部同時停止多個Tomcat伺服器,因為那樣對業務會有影響!只允許同時停止一臺Tomcat,那麼我的這個程式就派上了用場!
首先介紹一下設計思路:一個程序去執行重啟Tomcat的命令, 而另一個命令負責去監控重啟後的Tomcat日誌,如果日誌中出現“Startup server” 字樣,那麼說明Tomcat就啟動成功了,這個程序會告訴另外一個程序相關資訊,而此時另外的那個程序就可以對下一個伺服器執行重啟命令了哦!如此迴圈!知道重啟完畢為止,當然如果重啟過程中遇到錯誤,那麼程式會詢問您是否需要繼續重啟其他伺服器?
好,我們看下演示效果:
我看下真正的tomcat日誌,發現,是真的啟動成功了的哦!
演示七、在您本地的指令碼,讓他在遠端伺服器上執行,事先遠端伺服器上沒有這個指令碼的哦!
應用場景,比如您要對伺服器執行一個指令碼內容, 而事先無需讓這個指令碼在遠端伺服器上存在,只需要 在本地程式上執行,就能讓遠端伺服器上運行了哦!
來看下效果:
1 先看下我們本地指令碼的內容:
[[email protected] ~]# more b.sh
echo "遠端伺服器:"
/sbin/ifconfig|awk -F "( *)|:" ' {if ($0~"inet6") next; } {if($0~/127.0.0.1/) next;} $0~/inet/{print $4}'
2 然後把上面的指令碼b.sh 在程式裡面執行:
相關推薦
CheungSSH比Ansible更優秀的Linux SSH批量管理伺服器 執行命令上傳下載自動化運維工具
安裝部署: 第一步: [ root ~]# yum install -y gcc 第二步:[ root ~]# yum install -y python-devel 第三步 到官網下載pycrypto模組: wget --no-check-certificate https://pypi.py
linux ssh 到遠端伺服器執行命令和crontab中執行命令提示命令找不到的問題
使用ssh ip "hadoop" 命令時,提示找不到hadoop命令。 因為hadoop是在/etc/profile配置的,ssh到一臺伺服器上時,會執行使用者環境。 而ssh到一臺伺服器上,帶著命
Ubuntu ssh登陸方式和scp命令上傳下載檔案
ssh登陸方式: 在本地命令列終端輸入:ssh [email protected] , 其中username為需要登陸的伺服器的使用者名稱,address為伺服器ip,然後根據提示輸入密碼即可。 scp是一個遠端檔案拷貝程式,用於上傳下載檔案非常的方便。 上傳檔案: 在本地命令
Python實現ssh批量登入並執行命令
區域網內有一百多臺電腦,全部都是linux作業系統,所有電腦配置相同,系統完全相同(包括使用者名稱和密碼),ip地址是自動分配的。現在有個任務是在這些電腦上執行某些命令,者說進行某些操作,比如安裝某些軟體,拷貝某些檔案,批量關機等。如果一臺一臺得手工去操作,費時又費力,
自動化運維工具ansible的簡單使用
linux 自動化運維 ansible 準備兩臺機器,一臺作為服務端,一臺作為客戶端1、在其中一臺服務端上安裝ansible[[email protected]/* */ ~]# yum install -y epel-release[[email protected]/*
自動化運維工具之ansible
ansibleansible ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能。ansible是基於模塊工作的,本身沒有批量部署的能力。真正
自動化運維工具Ansible實戰(五)playbook使用
play playbook ansible (一)playbook簡述 ansbile-playbook是一系統ansible命令的集合,其利用yaml 語言編寫,運行過程,ansbile-playbook命令根據自上而下的順序依次執行。同時,playbook開創了很多特性,它可以允許你
自動化運維工具Ansible實戰(七)playbook循環
ansible ansible-play (一)簡述 在使用ansible做自動化運維的時候,免不了的要重復執行某些操作,如:添加幾個用戶,創建幾個MySQL用戶並為之賦予權限,操作某個目錄下所有文件等等。好在playbook支持循環語句,可以使得某些需求很容易而且很規範的實現。(二)常用的循環
自動化運維工具Ansible學習筆記
playbook ansible 自動化 一、簡介1.1 基本概念: ansible是一個基於python開發的輕量級自動化運維管理工具,可以用來批量執行命令,安裝程序,支持playbook編排。它通過ssh協議來連接主機,去中心化,相對比puppet和saltstack無需安裝客戶即可實現文件
自動化運維工具:Ansible
www. targe .com href 基本用法 bsp .cn 自動化運維 ref ansible 基本用法 ansible playbook 用法 自動化運維工具:Ansible
Linux的企業-自動化運維工具Saltstack(grains、pillar)
saltstack grains、pillar jinja、haproy+keeplived配置內容接上篇redhat6.5server1 172.25.29.1 salt-master server2 172.25.29.2 salt-minion haproy+keeplivedserver3 172
自動化運維工具Ansible之roles
roles 自動化運維 ansible 自動化運維工具ansible之roles 一、概述1.1 概念roles 用於層次性、結構化地組織playbook。roles 能夠根據層次型結構自動裝載變量文件、tasks以及handlers等。要使用roles只需要在playbook中使用inclu
企業輕量級自動化運維工具—ansible(常見的錯誤解決,免秘鑰互信,常用的模塊)
企業 輕量級 自動化 企業輕量級自動化運維工具—ansible1.ansible簡介 ansible是“Ansible is Simple IT Automation”——簡單的自動化IT工具。它可以做到自動化部署APP;自動化管理配置項;自動化的持續交付;自動化的(AWS)雲服務管理。可實
自動化運維工具——ansible詳解(一)
數據 修改時間 們的 ransac 例如 ces 備份文件 其中 其他 ansible 簡介 ansible 是什麽? ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、chef、func、fabric)的優點,實現了批量系
ansible企業級自動化運維工具
gin proc 工具 ack aml 安裝 速度 pla ups ansible工具遠程執行批量操作:1、安裝httpd包 2、復制httpd服務配置文件 3、啟動或重啟httpd服務 - hosts: web remote_user: root ta
批量同步代碼:有3臺服務器(A,B,C)做負載均衡,由於規模太小目前並未使用專業的自動化運維工具
rda 屬性。 環境變量 再次 由於 執行 http sleep 依次 需求背景是:一個業務,有3臺服務器(A,B,C)做負載均衡,由於規模太小目前並未使用專業的自動化運維工具。有新的需求時,開發同事改完代碼會把變更上傳到其中一臺服務器A上。但是其他2臺服務器也需要做相同變
自動化運維工具Ansible實戰(一)簡介和部署
Ansible 自動化運維 一、Ansible的介紹 Ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點。實現了批量系統配置、批量程序部署、批量運行命令等功能。Ansible是基於模塊工作的,本身沒
自動化運維工具Ansible實戰(五)Playbooks劇本使用
Ansible 自動化運維 Playbook 一、Playbook 簡介 Playbooks與Ad-Hoc相比,是一種完全不同的運用Ansible的方式,而且是非常之強大的;也是系統ansible命令的集合,其利用yaml語言編寫,運行過程,ansbile-playbook命令根據自上而下的順序依
自動化運維工具Ansible
mirrors fig 自動化 entos onf oot ear 實現 sea 一、簡介 當下有許多的運維自動化工具( 配置管理 ),例如:Ansible、SaltStack、Puppet、Fabric 等。 Ansible 一種集成 IT 系統的配置管理、應用部署、執行
自動化運維工具ansible詳細介紹以模塊的使用
option gcc 配置文件 詳細介紹 通信 cache actual value 就是 ansible ansible的理論部分 ansible的介紹 ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、chef、func、