shell腳本實現遠程重啟多個服務器

直接deepseek幫寫腳本?remoteReboot.sh

#!/bin/bash

# 配置文件路徑(格式:每行一個服務器地址)
SERVER_FILE="servers.list"

# 讀取服務器列表
mapfile -t SERVERS < "$SERVER_FILE"

for server in "${SERVERS[@]}"; do
? echo "正在處理: $server"
? #ssh -o ConnectTimeout=5 "mission@$server" "sudo -A shutdown -r '系統計劃維護重啟'"
? ssh -o ConnectTimeout=5 "mission@$server" "sudo -A reboot"?
? if [ $? -eq 0 ]; then
? ? echo "$server 重啟計劃設置成功"
? else
? ? echo "$server 連接失敗" >&2
? fi
done

上面注釋的ssh -o ConnectTimeout=5 "mission@$server" "sudo -A shutdown -r '系統計劃維護重啟'" 經測試,報錯?sudo: 沒有指定 askpass 程序,嘗試設置 SUDO_ASKPASS

但我已經設置過了,而用下面的reboot則功能正常。

設置ssh自動登錄免密碼

在本機上執行

# 生成密鑰對(如果尚未生成)
ssh-keygen -t rsa

# 將公鑰復制到目標服務器
ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.101
ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.102
再ssh user@192.168.1.101測試下是否免密碼成功,第一次不成功就先手動輸入一次密碼

后面就不用再輸入密碼了

在目標服務器,還要設置SUDO_ASKPASS 環境變量,這樣遠程登錄時系統就會調用它指向的命令去輸入密碼

vi? .bashrc

export SUDO_ASKPASS=/home/mission/StationPisPlayer/printpwd

/home/mission/StationPisPlayer/printpwd執行就會輸出密碼

經測試有的機器還是不行,還是報錯?sudo: 沒有指定 askpass 程序,嘗試設置 SUDO_ASKPASS

在目標服務器上sudo vi /etc/sudoers

user ALL=(ALL) NOPASSWD: /sbin/reboot

這里的user是服務器的用戶名

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904479.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904479.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904479.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何利用 QuickAPI 生成 PostgreSQL 樣本測試數據:全面解析與實用指南

目錄 一、什么是 QuickAPI&#xff1f; 二、為什么需要生成樣本測試數據&#xff1f; 三、如何在 QuickAPI 中生成 PostgreSQL 樣本測試數據&#xff1f; 1. 登錄 QuickAPI 平臺 2. 選擇 PostgreSQL 數據庫和目標表 3. 配置樣本數據生成規則 4. 導出或直接插入數據 四、…

黑馬點評day04(分布式鎖-setnx)

4、分布式鎖 4.1 、基本原理和實現方式對比 分布式鎖&#xff1a;滿足分布式系統或集群模式下多進程可見并且互斥的鎖。 分布式鎖的核心思想就是讓大家都使用同一把鎖&#xff0c;只要大家使用的是同一把鎖&#xff0c;那么我們就能鎖住線程&#xff0c;不讓線程并行&#x…

?人工智能在農作物病蟲害識別中的應用前景分析

近年來&#xff0c;全球氣候變化加劇、農業種植規模化發展&#xff0c;農作物病蟲害對糧食安全的威脅日益凸顯。據統計&#xff0c;全球每年因病蟲害造成的農作物損失約占總產量的20%-40%&#xff0c;而傳統依賴人工經驗的防治方式效率低、成本高&#xff0c;難以滿足現代農業需…

C++ 完美轉發

C 完美轉發逐步詳解 1. 問題背景與核心目標 在 C 模板編程中&#xff0c;若直接將參數傳遞給其他函數&#xff0c;參數的 值類別&#xff08;左值/右值&#xff09;和 類型信息&#xff08;如 const&#xff09;可能會丟失。例如&#xff1a; template<typename T> voi…

Midjourney 繪畫 + AI 配音:組合玩法打造爆款短視頻!

一、引言:AI 重構短視頻創作范式 在某短視頻工作室的深夜剪輯室里,資深編導正在為一條古風劇情視頻發愁:預算有限無法實拍敦煌場景,人工繪制分鏡耗時 3 天,配音演員檔期排到一周后。而使用 Midjourney 生成敦煌壁畫風格的場景圖僅需 15 分鐘,AI 配音工具實時生成多角色臺…

AI基礎知識(02):機器學習的任務類型、學習方式、工作流程

03 機器學習(Machine Learning)的任務類型與學習方式 廣義的機器學習主要是一個研究如何讓計算機通過數據學習規律,并利用這些規律進行預測和決策的過程。這里的Machine并非物理意義上的機器,可以理解為計算機軟硬件組織;Learning可以理解為一個系統或平臺經歷了某些過程…

數據結構、刷leetcode返航版--二分5/7

1.排序 快排&#xff1a; 第一章 基礎算法&#xff08;一&#xff09; - AcWing 如何調整范圍 經典二分 遞歸結束條件&#xff1b;條件滿足時&#xff0c;進行處理&#xff1b;遞歸左邊&#xff0c;遞歸右邊 分界點劃分可以是l,r,(lr)/2,但是如果是選l&#xff0c;比如是1…

LeetCode 267:回文排列 II —— Swift 解法全解析

文章目錄 摘要描述題解答案題解代碼分析統計字符頻率判斷是否可能構成回文構建半邊字符數組回溯生成半邊排列 示例測試及結果時間復雜度空間復雜度實際使用場景&#xff1a;回文排列在真實項目里能干啥&#xff1f;文本處理、數據清洗類系統游戲開發&#xff1a;名字合法性驗證…

JumpServer批量添加資產

環境說明&#xff1a;我的環境是H3C網絡設備環境 一、在linux系統環境下通過Python腳本獲取交換機信息&#xff0c;IP地址和設備名稱一一對應&#xff0c;腳本如下&#xff1a; cat get_device-sysname.py import re from netmiko import ConnectHandler from concurrent.fut…

理解字、半字與字節 | 從 CPU 架構到編程實踐的數據類型解析

注&#xff1a;本文為 “字、半字、字節” 相關文章合輯。 略作重排&#xff0c;未全校。 如有內容異常&#xff0c;請看原文。 理解計算機體系結構中的字、半字與字節 在計算機科學中&#xff0c;理解“字 (Word)”、“半字 (Half-Word)”和“字節 (Byte)”等基本數據單元的…

數據庫實驗10 函數存儲

數據庫實驗10 一、實驗目的 掌握函數和存儲過程的定義方法&#xff0c;包括標量函數、表值函數、存儲過程的語法結構。理解函數和存儲過程的作用及原理&#xff0c;區分標量函數與表值函數的應用場景&#xff0c;掌握存儲過程的參數傳遞、邏輯控制和錯誤處理機制。能夠熟練運…

2025 RSAC|大語言模型應用風險與廠商攻防新策略

RSA大會全球影響力及2025年LLM熱議概覽 作為全球規模最大、影響力最深遠的網絡安全盛會之一&#xff0c;RSA大會每年匯聚數萬名業界人士共商安全趨勢。在2025 RSAC上&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;尤其是大型語言模型&#xff08;LLM&#x…

網頁版部署MySQL + Qwen3-0.5B + Flask + Dify 工作流部署指南

1. 安裝MySQL和PyMySQL 安裝MySQL # 在Ubuntu/Debian上安裝 sudo apt update sudo apt install mysql-server sudo mysql_secure_installation# 啟動MySQL服務 sudo systemctl start mysql sudo systemctl enable mysql 安裝PyMySQL pip install pymysql 使用 apt 安裝 My…

Transformer數學推導——Q55 證明跨層殘差跳躍(Cross-Layer Skip Connections)的信息融合效率

該問題歸類到Transformer架構問題集——殘差與歸一化——殘差連接。請參考LLM數學推導——Transformer架構問題集。 1. 引言 在深度學習的發展歷程中&#xff0c;網絡結構的不斷創新推動著模型性能的持續提升。跨層殘差跳躍&#xff08;Cross-Layer Skip Connections&#xf…

41.尋找缺失的第一個正數:原地哈希算法詳解

文章目錄 引言問題描述方法思路&#xff1a;原地哈希算法算法步驟 完整代碼實現關鍵代碼解析復雜度分析示例說明總結 引言 在算法面試和數據處理中&#xff0c;尋找缺失的第一個正數是一個經典問題。題目要求給定一個未排序的整數數組&#xff0c;找到其中缺失的最小正整數&am…

matlab 中function的用法

matlab 中function的用法 前言介紹1. 基本語法示例&#xff08;1&#xff09;可以直接輸出&#xff08;2&#xff09;調用函數 2.輸入參數和輸出參數示例多輸入參數和輸出參數定義一個函數&#xff0c;計算兩個數的和與差&#xff1a;調用該函數&#xff1a; 3. 默認參數示例 4…

HarmonyOS開發之基于子窗口實現應用內懸浮窗

鴻蒙開發&#xff1a;基于子窗口實現應用內懸浮窗(含完整代碼示例) 在現代移動應用中&#xff0c;懸浮窗/懸浮球是一種非常實用的交互方式&#xff0c;常用于展示快捷入口、實時通知、視頻播放等場景。例如&#xff1a; 聊天應用中的小助手按鈕視頻應用的畫中畫功能游戲或工具類…

可以下載blender/fbx格式模型網站

glbxz.com glbxz.com可以下載blender/fbx格式模型。當然里面有免費的

250505_HTML

HTML 1. HTML5語法與基礎標簽1.1 HTML5特性1.1.1 空白折疊現象1.1.2 轉義字符 1.2 HTML注釋1.3 基礎標簽1.3.1 div標簽1.3.2 標題標簽1.3.3 段落標簽1.3.4 title1.3.5 meta 1.4 html骨架1.4.1 DTD1.4.2 html標簽1.4.3 head與body標簽 1.5 div標簽詳解1.5.1 常見class類名 1.6 列…

數據封裝的過程

數據的封裝過程 傳輸層 UDP 直接將數據封裝為UDP數據報?&#xff0c;添加UDP頭部&#xff08;8B&#xff09;。 要點&#xff1a; UDP首部簡單&#xff0c;無連接不可靠、無重傳、無擁塞控制&#xff0c;適用于實時性要求較高的通訊&#xff1b;不需要源端口或不想計算檢…