在Windows上通过putty编写ssh脚本

时间:2012-10-04 22:01:55

标签: mysql ssh putty

我需要从windows机器编写linux机器的mysql恢复脚本。我有腻子,我知道它有ssh功能。这就是我所拥有的:

C:\Progra~1\Putty\putty.exe -ssh root@10.1.2.3 && mysql -u USER -pPASS db < /tmp/dump.sql

我编写脚本的问题是putty打开一个新窗口并将控制转移到那里,所以任何事情都会发生在

之后
putty.exe -ssh 

什么都不做。

1 个答案:

答案 0 :(得分:7)

您可以使用-m选项指定包含要在远程连接上运行的命令的文件。

示例:

C:\Progra~1\Putty\putty.exe -ssh -m C:\cmd.txt root@10.1.2.3

C:\cmd.txt

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

来自Putty Documentation

  

3.8.3.6`-m':从文件中读取远程命令或脚本

     

-m' option performs a similar function to the远程命令'   PuTTY配置框的SSH面板中的框(参见章节)   4.18.1)。但是,`-m'选项应该被赋予一个本地文件名,它将从该文件中读取一个命令。

     

对于某些服务器(特别是Unix系统),您甚至可以使用   此文件中有多行,并在中执行多个命令   序列,或整个shell脚本;但这可以说是一种滥用,而且   不能指望在所有服务器上工作。特别是,它是已知的   与某些“嵌入式”服务器配合使用,例如Cisco路由器。

     

文件传输工具PSCP和中没有此选项   PSFTP。