在某些情況下,您想要在遠程機器/服務器上執行/啓動某些腳本(它將自動終止)並斷開與服務器的連接。
例如:在其執行
- 當箱中運行的腳本需要一個模型,並將其複製到遠程服務器
- 與模型運行仿真創建一個腳本,並將其推送到服務器
- 在服務器上啓動腳本並斷開連接
- 因此啓動的腳本的責任是在服務器中運行仿真,一旦完成(需要幾天的時間才能完成)將結果複製回客戶端。
我會用下面的命令:
ssh remoteserver 'nohup /path/to/script `</dev/null` >nohup.out 2>&1 &'
@CKeven,你可以將一個腳本所有這些命令,把它推到遠程服務器,如下啓動它:
echo '#!/bin/bash
rm -rf statuslist
mkdir statuslist
chmod u+x ~/monitor/concat.sh
chmod u+x ~/monitor/script.sh
nohup ./monitor/concat.sh &
' > script.sh
chmod u+x script.sh
rsync -azvp script.sh remotehost:/tmp
ssh remotehost '/tmp/script.sh `</dev/null` >nohup.out 2>&1 &'
希望這個作品;-)
編輯: 您還可以使用 SSH用戶@主機「卵石ñ-S SESSIONNAME -d -m 「/路徑/到/可執行文件」」
它創建了一個分離屏幕會話並在其中
如果您正在運行的命令需要從文件輸入(例如大數據庫導入,例如mysql
cayblood
2012-10-17 21:02:34