當前位置:首頁 » 編程軟體 » linux遠程執行本地腳本

linux遠程執行本地腳本

發布時間: 2023-05-16 23:11:08

1. linux shell 遠程連接腳本怎麼寫 Linux

樓上亂講,你在腳本里 ssh username@遠程主機ip 這樣寫的話會提示你輸入密碼,腳本不能實現自動化還有什麼意義。

直接在shell腳本里是實現不了自動登錄的,你需要藉助expect腳本。
redhat下默認是沒有安裝expect,你可以用yum install expect來安裝。
安裝完成後編寫腳本如下
#!/usr/bin/expect -f

set timeout 30

spawn ssh username@host
expect "*assword:*"

send "password\r"
expect eof

保存後給它加上可執行許可權,就可以用這個腳本登錄了。
解釋一下
set timeout 30 設置超時時間
spawn spawn用來啟動一個新的進程
expect 用來等待你所期望的系統返回的字元串
send 用來向系統發送一個字元串,即你的密碼
expect eof 等待接受文件結束符。

夠詳細了吧。累死我了。

2. linux怎麼遠程執行另一台linux機器上的shell文件

現在兩台及器間設這ssh的不用密碼的連接,設置共有和私有的密鑰

user1 (客戶端A) user2(服務端B)
產生密鑰
user1# ssh-keygen -t rsa
user1# ls .ss
is_rsa id_rsa.pub
私鑰 公鑰=============》導入
user1#ssh--id -i .ssh/id_rsa.pub user2@B的IP
user1#ssh user2@B的ip
在A機器上:
ssh B機器IP <<EOF
/opt/m.sh
exit
EOF

其實這也是在B上執行的,只是在內部執行的而已

3. Linux遠程執行Shell命令或腳本

1. 遠程執行Shell命令

2. 遠程執行Shell本地腳本

#

4. linux 如何自動遠程執行腳本

1、安裝sshpass
2、sshpass -p 「passwd」 ssh -p22 root@$dst_ip 「a.sh」
注意a.sh是目標主機里的腳本。

5. linux 遠程主機後台運行任務 掛起腳本

背景 :工作需要,需要遠程式控制制主機使其斷開Xshell後也能一直運行。
關鍵字 :& ,nohup,腳本掛起。

在應用Unix/Linux時,我們一般想讓某個程序在後台運行,於是我們將常會用 & 在程序結尾來讓程序自動運行。

鍵入Ctrl + C,發出SIGINT信號,程序會繼續運行

方法一、輸入命令:jobs

方法二:輸入命令:ps

fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令

加在一個命令的最後,可以把這個命令放到後台執行,如

可以將一個正在前台執行的命令放到後台,並且處於暫停狀態。

查看當前有多少在後台運行的命令
jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated。但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識。

將後台中的命令調至前台繼續運行。如果後台中有多個命令,可以用fg %jobnumber(是命令編號,不是進程號)將選中的命令調出。

將一個在後台暫停的命令,變成在後台繼續執行。如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出。

法子1:通過jobs命令查看job號(假設為num),然後執行kill %num
法子2:通過ps命令查看job的進程號(PID,假設為pid),然後執行kill pid
前台進程的終止:Ctrl+c

如果讓程序始終在後台執行,即使關閉當前的終端也執行(之前的&做不到),這時候需要nohup。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。
關閉中斷後,在另一個終端jobs已經無法看到後台跑得程序了,此時利用ps(進程查看命令)

如上所示:
nohup 和 & 組合了後台運行程序。
可以輸出到 out.log保存程序輸出,也可以輸出到/dev/null 即空設備,不保存輸出。

上面三種方式無論在nohup.out 或test.out都看不到數據結果,這是因為python執行有緩存輸出
解決

新的介面接入查看程序

使用&後台運行程序:

結果會輸出到終端
使用Ctrl + C發送SIGINT信號, 程序免疫
關閉session發送SIGHUP信號, 程序關閉

使用nohup運行程序:

結果默認會輸出到nohup.out
使用Ctrl + C發送SIGINT信號, 程序關閉
關閉session發送SIGHUP信號, 程序免疫
平日線上經常使用nohup和&配合來啟動程序:
同時免疫SIGINT和SIGHUP信號

同時,還有一個最佳實踐:
不要將信息輸出到終端標准輸出,標准錯誤輸出,而要用日誌組件將信息記錄到日誌里
nohup和&究竟有啥區別

6. Linux下如何運行sql腳本

Linux運行sql腳本的具體操作步驟如下:

1、使用shell工具登陸到安裝postgresql的伺服器,切換到postgres用戶,postgresql默認的操作用戶,命令是:su - postgres,查看當前路徑是/var/lib/psql,創建一個test.sql腳本文件,命令是:vim test.sql。

7. linux 遠程調用腳本執行後不繼續執行後續命令,需要輸入ctrl+c,詳細見補充

兩個問題.
1. 確定你A機器當前用戶的密鑰文件在B機器的~/.ssh/id_dsa.pub裡面.
參考: http://renyongjie668.blog.163.com/blog/static/160053120101210221908/
2. 修改你的腳本如下.
ssh [email protected] "cd /;sh b.sh" >/dev/null 2>&1
echo 「finish"

還有問題的話.可以找我.我們慢慢排除.

熱點內容
加密貨幣app 發布:2025-07-14 20:46:57 瀏覽:553
醫院防汛演練方案與腳本 發布:2025-07-14 20:41:11 瀏覽:777
公網ip做域伺服器地址 發布:2025-07-14 20:40:13 瀏覽:52
php獲取幾 發布:2025-07-14 20:22:20 瀏覽:376
舊安卓如何刷入最新安卓 發布:2025-07-14 20:16:14 瀏覽:763
伺服器或網路不給力是什麼意思 發布:2025-07-14 20:15:36 瀏覽:318
爬網站資料庫 發布:2025-07-14 20:15:20 瀏覽:520
邵雍的演算法 發布:2025-07-14 20:13:49 瀏覽:119
離線燒錄加密 發布:2025-07-14 20:12:13 瀏覽:620
奧迪怎麼查配置 發布:2025-07-14 20:12:07 瀏覽:832