基於expect開發免密碼分發多節點檔案,ssh多節點操作
直接上程式
#!/usr/bin/expect -f set filepath "/home/text_file.txt" set remotepath "/home/" set password "123456" foreach ip { 10.9.233.190 10.9.233.191 10.9.233.192 10.9.233.193 10.9.233.194 } { #puts $ip; spawn scp -r $filepath [email protected]$ip:$remotepath expect { "*yes/no" { send "yes\r"; exp_continue } "*password:" { send "$password\r" } } interact }
注意:
該指令碼通過expect實現人機互動,expect需要tcl語言支援
指令碼開頭不是以往的/bin/bash,而是expect
注意空格的影響
set varname varvalue 通過set給變數賦值
put 將內容打印出來,做除錯用
加強版:批量檔案分發多節點
#!/bin/bash
src_dir=/home/patchdrs/*
dest_dir=/home/
password="123456"
find $src_dir | while read line
do
filepath=$line
#echo $filepath
for ip in 192.168.1.1 192.168.1.2 192.168.1.2
do
expect << EOF
spawn scp -r $filepath [email protected]$ip:$dest_dir
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$password\r" }
}
expect eof
EOF
done
done
ssh多節點操作linux命令
#指令碼內容
#!/bin/bash
baseDir=`cd \`dirname $0\`; pwd`
ipFile=$baseDir/ip.conf
password="E65!9*wkQ"
while read line
do
ip=$line
expect <<-EOF
set timeout 3
spawn ssh [email protected]$ip
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$password\r" }
}
expect "*#"
send "df -h\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF
done < $ipFile
--------------------------------------------------
#ipconf檔案
10.37.47.93
10.37.47.94
10.37.47.95
10.37.47.96
over,這是最後一行,不要隨意新增無關行,ip寫在上面即可
相關推薦
基於expect開發免密碼分發多節點檔案,ssh多節點操作
直接上程式 #!/usr/bin/expect -f set filepath "/home/text_file.txt" set remotepath "/home/" set password "123456" foreach ip { 10.9.233.190 1
用html如何把頁面分割成多個檔案,由多個檔案拼接而成?
摘要: 不同平臺:pc端靜態html分割頁面,達到類似php等動態頁面的include引入頁面效果;手機端單一HTML5頁面建立多個頁面。 用html把首頁分成三個檔案 在PHP、JSP等動態頁面開發中,頁面裡引入其它頁面只需include()進來就可以實現頁面的分離。
ssh基於密鑰免密碼登錄
oot -i etc 登錄 conf config strong 日誌文件 var 1.客戶端生成密鑰對 **ssh-keygen -t rsa ** 選項: -t:加密類型
Linux-11-SSH KEY免密碼分發、管理、備份
SSH是專門為遠端登入會話和其他網路服務提供安全性的協議,利用SSH協議可以有效防止遠端管理中的資訊洩露問題。 預設情況下,SSH本身提供兩個服務功能:一個是類似telnet的遠端聯機shell服務,另一個是sftp-server,可以提供安全的FTP服務。 SSH提供兩
linux,scp傳輸檔案用expect工具免密碼輸入shell指令碼
expect是一個自動互動功能的工具。expect是開了一個子程序,通過spawn來執行shell指令碼,監測到指令碼的返回結果,通過expect判斷要進行的互動輸入內容(send)。簡單舉個列子說,
Centos 解決SSH 免密碼登入 以及Crontab製作定時SSH自動登入和關閉的指令碼
一、SSH免密碼登入 假設要登入的機器為192.168.1.100,當前登入的機器為192.168.1.101。 首先在101的機器上生成金鑰(如果已經生成可以跳過): $ ssh-keygen -t rsa一路回車即可。 然後在將生成的公鑰複製到機器100上的~/.ssh/authorized_ke
centos 7 ssh免密碼登入(補充1.6 SSH免密登入)
參考(十分詳細):http://blog.csdn.net/newstruts/article/details/46424191 目的 在搭建Linux叢集服務的時候,主伺服器需要啟動從伺服器的服務,如果通過手動啟動,叢集內伺服器幾臺還好,要是像阿里1000臺
Java開發線上開啟編輯儲存Word檔案(支援多瀏覽器)
Java呼叫PageOffice實現線上編輯儲存Word檔案(以jsp呼叫為例,支援SSM、SSH、SpringMVC等流行框架)1. 下載PageOffice開發包:http://www.zhuozhengsoft.com/dowm/ 下載PageOffice for JA
mybatis實現多表一對一,一對多,多對多關聯查詢
轉自:https://blog.csdn.net/m0_37787069/article/details/79247321 1、一對一 關鍵字:association 作用:針對pojo物件屬性的對映 property:pojo的屬性名 &
maven 多配置檔案,多環境管理
有時候,我們在開發和部署的時候,有很多配置檔案資料是不一樣的,比如連線mysql,連線redis,一些properties檔案等等 每次部署或者開發都要改配置檔案太麻煩了,這個時候,就需要用到maven的profile配置了 1,在專案下pom.xml的
java w3c解析xml檔案,獲取指定節點內容,讀取外部配置檔案。
原始碼: package com.ys.adage.utils; import com.ys.adage.message.CodeObjectResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.
C語言連結串列:遍歷,頭插,尾插,中間插入;頭節點刪除,尾節點刪除,中間刪除的操作
/****************************************************************************************************************************************
vue上傳多個檔案,附件和其他資料一起傳給後臺
前端: 實現多圖上傳主要用到以下兩個屬性: <el-form-item label="附件上傳" label-width="80px"> <el-f
嵌入式Linux網路程式設計,TCP多併發伺服器,TCP多執行緒併發伺服器,TCP多程序併發伺服器
文章目錄 1,TCP多執行緒併發伺服器 1.1,標頭檔案net.h 1.2,客戶端client.c 1.3,伺服器端server.c 2,TCP多程序併發伺服器 2.1,標頭檔案net.h 2.2,客
如何讀取xml檔案,根據xml節點屬性查詢並輸出xml檔案
主要是應用SimpleXML和遞迴函式來根據key值來查詢,並將結果以xml格式輸出。 <?php header("Content-type: text/xml"); //以xml格式輸出檔案 @$key=$_GET['key']; $find=false; //echo $key."<
Jedis操作單節點redis,叢集及redisTemplate操作redis叢集(三)
package com.dream21th.dream21thredis.controller;import java.util.List;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;im
Python Flask,資料庫,SQLAlchemy,關聯查詢(多表查詢),一對多關聯
demo.py(定義模型類,一對多關聯): # coding:utf-8 from flask import Flask from flask_sqlalchemy import SQLAlchemy # 匯入 app = Flask(__name__) # 通過類物
Pycharm執行.py檔案,控制檯多了很多無用資訊,是命名問題
C:\Python35\python3.exe "E:\Program Files\JetBrains\PyCharm 2017.1.1\helpers\pycharm\_jb_unittest_run
flask 伺服器上面下載多個檔案 ,客戶端一次性上傳多個檔案
#encoding=utf8 import flask,os,sys,time from flask import request,send_from_directory import multiEmbeddings import tensorflow as tf &n
記一次java socket學習(簡單實用多執行緒,實現多對多群聊)
學習過程是艱苦,學習結束是快樂的 目錄 用 [TOC]來生成目錄: 本來想寫一些文字描述描述,可是想不出來說啥。。。所以直接記錄程式碼了。。。 程式碼塊 因為喜歡把常量都提取出來 所以上來就是常量類: public class Const