嘿,我对 Unix 完全陌生,我需要编写一个“shell 脚本”(?)来连接到另一个终端并运行一些 SQL 查询。我到底该怎么做?我一直在浏览这个论坛和其他论坛的一些答案,如果我找到了我的答案,我不明白它。
我可以手动连接、输入密码等,但我需要自动化该过程。我无法访问 Perl(正如一些答案所建议的那样),并且无法编辑 etc/shadow 文件。所以我认为这必须严格通过 Unix 本身来完成。这是我目前正在使用的:
X=`vUser='USER-NAME'
vPass='PASSWORD'
vTable='TABLENAME'
vHOST='HOST-NAME'
vPORT=4443
ssh root@vHost
expect {
"root@the-host password:"{
send -s "'vPass'\r"
}
}
SQL_Query='select * from vTable limit 10'
mysql -p$vPASS -D$vTable -u$vUser P$vPort<<EOF
$SQL_Query
EOF`
echo $X>Output.dat
请完整解释所有答案。我正在尝试学习。
可能不是 100% 相关,但我必须在 Linux 上做同样的事情。
首先,您要在具有 SSH 访问权限的另一台服务器上创建一个新用户帐户并生成 SSH 密钥对,
即使您要以 root 身份执行此操作,
密钥对远远优于标准密码,因为它们更强大,
它们允许您通过 SSH 自动登录。
没有真正的方法可以自动执行密码输入过程(至少在 Linux 上不行),因此需要 SSH 密钥来执行此操作。
您基本上可以将一系列命令作为参数发送到 SSH 工具。
就像这样,
ssh user@host "ls; cat *; yes;"
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)