有關批次管理LINUX主機及傳檔(更新) - Linux

Bennie avatar
By Bennie
at 2017-09-30T14:27

Table of Contents

寫個 bash script 就可以了,
但 bash 應該要在 nas 上執行。
或你先連入任一台 linux ,
再從那台 linux 上執行這個 script 。

這裡假設你是用一般帳號登主機,
再用 sudo 切成 root 的。
用 -S 選項會讓 sudo 從 stdin 讀密碼。

dos 可能沒有 ssh ,
batch 的寫法也和 bash 不一樣。

#!/bin/bash

user=your_use_name # 你登入 200 多台主機的帳號
password=your_password # sudo 要用

for host in 192.168.1.{0..255} # 你的 200 多台主機 ip
do
scp 安全性的script.sh $host:/tmp
ssh $user@$host sudo -S sh /tmp/安全性的script.sh <<<"$password"
scp $user@$host:/tmp/產生的.zip ./${host}-結果.zip # 區分不同主機的結果
ssh $user@$host rm /tmp/安全性的script.sh
done


另外這裡要你先啟用 ssh 的免密碼登入,
要先產生 ssh 金鑰對,再一一複製到主機上。

ssh-keygen
for host in 192.168.1.{0..255}
do
ssh-copy-id $user@$host
done


※ 引述《baron0607》之銘言:
: 我有200多台LINUX(Redhat)遠端主機,這200多台都有連到一個NAS空間,我在NAS空間有
: 放一個檢測主機安全性的script檔案
: 我先將此script複製到遠端主機的/tmp下,之後以root的身分執行此script,此程式執行
: 完會產生一個.zip壓縮檔,
: 我必須將這個壓縮檔再下載回來我的電腦
: 註:我電腦是windows的,要遠端維護的主機都是linux(Redhat)
: 1.
: 可是因為我有200多台主機,所以要重複執行此動作很費時,而且執行完要各自從200多台
: 主機的/tmp下下載壓縮檔回來我的電腦
: 請問大家有什麼方法或工具可以推薦的嗎?
: 2.還有請教各位有沒有ssh遠端連線結合ftp的工具可以介紹給我?
: 感謝大家~!
: ※ 編輯: baron0607 (27.52.107.99), 09/29/2017 00:10:01
: → chang505: 這是一次性的作業吧?如果你本來就有分群,寫script去控 09/29 00:09
: → chang505: 制leader往下做 09/29 00:09
: → chang505: 沒有的話就寫成script自動登入、執行、回傳 09/29 00:10
: → iFEELing: 都可以SSH進去了 丟 FTP SCRIPT 需要什麼特別工具嗎?? 09/29 00:20
: → soom: 在其中一台主機用parallel執行偵測,第二個paralle下載檔案 09/29 03:48
: 請問你說的是指pssh嗎?如果是的話是不是只要其中一台裝就好 不用200多台都裝?
: → bluecadence: 用 ssh (可以執行遠方主機指令) 和 scp 就搞定了, 09/29 08:11
: → bluecadence: 你的安全檢測script甚至不必放到遠端/tmp,放在本機 09/29 08:12
: → bluecadence: 就行了。 09/29 08:13
: → bluecadence: 將200台主機ip列表,寫個bash script同時處理200台 09/29 08:15
: → bluecadence: 反正現在windows10內建ubuntu bash,如果不是win10 09/29 08:16
: → bluecadence: 裝個cygwin 09/29 08:16
: → bluecadence: 用google查一下 ssh 執行遠方端指令 你就知道了 09/29 08:24
: 小弟初學者,有點不太懂你說的方法,我研究看看
: ※ 編輯: baron0607 (27.52.107.99), 09/29/2017 08:30:40
: 推 ago1414: ssh-copy-id + winsshd + shell script + crontab 09/29 08:35
: 最近有google到有一套軟體叫xshell好像可以針對多台主機下一樣的指令,是否可解決此
: 問題?
: ※ 編輯: baron0607 (27.52.107.99), 09/29/2017 09:00:23
: 推 Bencrie: 叫 nas 跑 sshpass scp <<ENDSSH 09/29 09:05
: → soom: 我是指https://www.gnu.org/software/parallel/ 09/30 02:54
: → soom: remote execution那段可參考,但板友提的寫script更直覺些 09/30 02:54

--

+------+
| 胡 | 不要因為偉人的照片。
| |
| 適 | 就輕易相信文字內容。
+------+

--
Tags: Linux

All Comments

Queena avatar
By Queena
at 2017-10-04T02:06
ssh 應該不大能夠用 <<< 把密碼送入
一般要密碼建議用 sshpass 工具搭配使用
Odelette avatar
By Odelette
at 2017-10-07T00:19
200台都先做一次 visudo (眼神死)
Hedy avatar
By Hedy
at 2017-10-09T03:28
sudo <<< password 我測試過不能夠 work
Iris avatar
By Iris
at 2017-10-13T07:59
個人認為原本要管理的 server 最好還是有預先規劃管理
要不然感覺溝通處理方式都很暴力
Rebecca avatar
By Rebecca
at 2017-10-17T18:10
身為一個能夠管理200多台的mis的公司環境不應該這麼混亂
Ida avatar
By Ida
at 2017-10-22T12:40
如果要 sudo 從 stdin 吃密碼,要加 -S 選項
Tracy avatar
By Tracy
at 2017-10-22T13:48
路過剛好看到有<<<這招,學習了
Cara avatar
By Cara
at 2017-10-24T19:05
那是 bash 的語法喔,其它 posix shell 可能不支援

徵人安裝win10+Ubuntu雙系統 台北南港

Wallis avatar
By Wallis
at 2017-09-29T15:51
給個小小建議,我也是用ASUS筆電, 當時本來也是想裝雙系統, 但一方面是我HD太小,(128G SSD) 一方面也怕有問題,(事實上有裝壞過一次) 所以最後用的方式是把LINUX裝在外接的SSD上面, 因為是接在USB3.0的port,所以速度上完全OK, 還算滿方便的,平常使用不接時開機到WINDOWS, ...

CentOS 5.6 相容主機板型號

Gary avatar
By Gary
at 2017-09-29T15:15
各位好, 小弟要幫客戶安裝CentOS 5.6, 但卻找不到相容的主機板型號(客戶要求提供) 我找了好多網站都找不到 連紅帽也找過了 不知道是不是關鍵字的問題 想請問是否有像openSUSE一樣, 在網站就可以看出各個相容的主機板? 謝謝 btw CPU 應該會建議客戶選用 Intel Xe ...

能攔截UART的資料嗎?

Oliver avatar
By Oliver
at 2017-09-29T14:21
如題,不是用硬體接線的方式去攔,因為找不到點....andgt;andlt; 詳細情況是這樣的, LINUX下有個AP,然後透過這個AP去對Android device做image download, 想問問能不能攔這個AP跟Android device溝通的UART訊號呢? 目前確定他是用/dev/tty ...

windows連centos samba server權限問題

Jacob avatar
By Jacob
at 2017-09-29T12:40
最近用在centos7.4 架設samba4.6 server 我把SAMBA4.6 主機 加入WINDOWS AD 然後用NFS掛載別台主機的分享資料夾 我的作法是把SAMBA加入AD 去撈使用者清單 然後去掛載NFS SERVER ASD資料夾 用AD帳號設定ASD跟底下子目錄的權限 但現在出現 ...

Linux下Bash批次更改檔名(數百、千個檔)

Tracy avatar
By Tracy
at 2017-09-29T01:43
※ 引述《weakstudy (台灣高階管理人)》之銘言: : 小弟剛接觸Linux下的Ubuntu系統,用的是Bash, : 話說某天,某個學長經過我的座位看我一個檔點一下後,按F2,再更改檔名, : 然後換下一個,他看了我改了五、六個檔吧, : 終於受不了了,「學弟啊!這種東西,你寫個Bash就可以在30 ...