2012-10-04 273 views
4

我需要從windows機器腳本編寫一個Linux機器的mysql還原腳本。我有膩子,我知道它有ssh功能。以下是我有:在windows上通過putty腳本來編寫腳本

C:\Progra~1\Putty\putty.exe -ssh [email protected] && mysql -u USER -pPASS db < /tmp/dump.sql 

我在寫劇本的問題是,油灰打開一個新窗口,並把控制那裏,所以後

putty.exe -ssh 

什麼來什麼都不做。

+0

PuTTY可能不是您想在此使用的工具。 – cdhowie

+2

用明文寫你的root密碼的腳本是一個壞主意。 –

+0

是的,它不會是root,就像密碼不會是PASS :) – mvd

回答

7

您可以使用-m選項指定一個文件,其中包含要在遠程連接上運行的命令。

示例:C:\cmd.txt

mysql -u USER -pPASS db < /tmp/dump.sql 

C:\Progra~1\Putty\putty.exe -ssh -m C:\cmd.txt [email protected] 

內容從Putty Documentation

3.8.3.6`-m':從文件中讀取遠程命令或腳本

在PuTTY配置框的SSH面板中的-m' option performs a similar function to the遠程命令' 「框(請參閱部分 4.18.1)。但是,`-m'選項期望獲得一個本地文件名,並且它將從該文件讀取一條命令。對於某些服務器(尤其是Unix系統),甚至可以在該文件中放入多行 ,並在 序列或整個shell腳本中執行多個命令;但這可以說是一種濫用,並且不能指望在所有服務器上都可以使用 。特別是,它被稱爲 而不是可以與某些「嵌入式」服務器(如Cisco路由器)一起使用。

該選項在文件傳輸工具PSCP和 PSFTP中不可用。