[英]ssh to remote Linux for mysql query command
I am using ssh key to login to remote Linux server to get result of some commands. 我正在使用ssh键登录到远程Linux服务器,以获取某些命令的结果。 This part is working fine. 这部分工作正常。 Now I have made a bash script which actually query an DB size of mysql server on that remote linux server. 现在,我制作了一个bash脚本,该脚本实际上查询该远程linux服务器上mysql服务器的数据库大小。 Script is as follows. 脚本如下。
#!/bin/bash
# Script to query mysql stats
#set -x
HOST="192.168.0.1"
USER="root"
PASS="PASSSSS"
DB="radius"
CMD=`ssh -p 12345 $HOST mysql -u$HOST -p$PASS --skip-column-names -e "SELECT table_schema "$DB", sum(data_length + index_length)/1024/1024 FROM information_schema.TABLES WHERE table_schema='radius' GROUP BY table_schema;"`
F=`echo $CMD | cut -f1 -d"." | sed 's/[^0-9]*//g'`
echo $F
echo $F
But when I run this script. 但是,当我运行此脚本时。 it gives following error 它给出以下错误
# ./qmysql.sh
bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `mysql -u192.168.0.1 -pPASSSS --skip-column-names -e SELECT table_schema radius, sum(data_length + index_length)/1024/1024 FROM information_schema.TABLES WHERE table_schema='radius' GROUP BY table_schema;'
You have some Problems with quotes. 您在报价方面有一些问题。
Try something like 尝试类似
... "SELECT table_schema \"$DB\", sum( ...
尝试将`替换为“,并跳过所有引号
CMD="ssh -p 12345 $HOST mysql -u$HOST -p$PASS --skip-column-names -e \"SELECT table_schema \"$DB\", sum(data_length + index_length)/1024/1024 FROM information_schema.TABLES WHERE table_schema='radius' GROUP BY table_schema;\""
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.