我需要编写从 Windows 机器恢复 Linux 机器的 mysql 脚本。我有 putty 并且我知道它有 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
没有做任何事情。
您可以使用-m
选项指定包含要在远程连接上运行的命令的文件。
Example:
C:\Progra~1\Putty\putty.exe -ssh -m C:\cmd.txt [email protected]
内容C:\cmd.txt
mysql -u USER -pPASS db < /tmp/dump.sql
来自腻子文档:
3.8.3.6 `-m':从文件读取远程命令或脚本
The -m' option performs a similar function to the
远程命令'
PuTTY 配置框的 SSH 面板中的框(请参阅部分
4.18.1)。但是,“-m”选项期望获得本地文件名,并且它将从该文件读取命令。
对于某些服务器(特别是 Unix 系统),您甚至可以将
该文件中的多行并执行多个命令
序列,或整个 shell 脚本;但这可以说是一种滥用,并且
不能指望在所有服务器上都能工作。特别是众所周知not与某些“嵌入式”服务器一起使用,例如 Cisco 路由器。
此选项在文件传输工具 PSCP 和
PSFTP。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)