我需要从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
什么都不做。
答案 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
3.8.3.6`-m':从文件中读取远程命令或脚本
-m' option performs a similar function to the
远程命令' PuTTY配置框的SSH面板中的框(参见章节) 4.18.1)。但是,`-m'选项应该被赋予一个本地文件名,它将从该文件中读取一个命令。对于某些服务器(特别是Unix系统),您甚至可以使用 此文件中有多行,并在中执行多个命令 序列,或整个shell脚本;但这可以说是一种滥用,而且 不能指望在所有服务器上工作。特别是,它是已知的 不与某些“嵌入式”服务器配合使用,例如Cisco路由器。
文件传输工具PSCP和中没有此选项 PSFTP。