Re: [問題] 有關批次管理LINUX主機及傳檔(更新)

作者: hijkxyzuw (i,j,k) ×(x,y,z)   2017-09-30 14:27:47
寫個 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 [email protected]$host sudo -S sh /tmp/安全性的script.sh <<<"$password"
scp [email protected]$host:/tmp/產生的.zip ./${host}-結果.zip # 區分不同主機的結果
ssh [email protected]$host rm /tmp/安全性的script.sh
done
另外這裡要你先啟用 ssh 的免密碼登入,
要先產生 ssh 金鑰對,再一一複製到主機上。
ssh-keygen
for host in 192.168.1.{0..255}
do
ssh-copy-id [email protected]$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
作者: kenduest (小州)   2017-09-30 17:10:00
ssh 應該不大能夠用 <<< 把密碼送入一般要密碼建議用 sshpass 工具搭配使用
作者: aeolus0829 (阿洽)   2017-10-02 08:52:00
200台都先做一次 visudo (眼神死)
作者: kenduest (小州)   2017-10-02 11:34:00
sudo <<< password 我測試過不能夠 work個人認為原本要管理的 server 最好還是有預先規劃管理要不然感覺溝通處理方式都很暴力身為一個能夠管理200多台的mis的公司環境不應該這麼混亂
作者: hijkxyzuw (i,j,k) ×(x,y,z)   2017-10-06 00:27:00
如果要 sudo 從 stdin 吃密碼,要加 -S 選項
作者: ekids1234 (∵:☆星痕╭☆)   2017-10-06 13:21:00
路過剛好看到有<<<這招,學習了
作者: hijkxyzuw (i,j,k) ×(x,y,z)   2017-10-10 17:01:00
那是 bash 的語法喔,其它 posix shell 可能不支援

Links booklink

Contact Us: admin [ a t ] ucptt.com