远程mysql导入:没有这样的文件或目录

时间:2017-02-15 19:08:47

标签: mysql ssh

这是一个奇怪的问题。我有一个构建脚本,它将数据库转储到一个sql文件(包含3个数据库)。

然后我将文件上传到登台服务器(正常工作),当我运行或执行命令时:

sshpass -p 'webmin' ssh webmin@apps.mydomain.local mysql -u root < /var/www/complete_db.sql

我收到错误:

bash: /var/www/complete_db.sql: No such file or directory

哪个不正确 - 它肯定是在该路径的登台服务器上。如果我远程进入服务器并执行:

mysql -u root < /var/www/complete_db.sql

按预期进口,一切正常......

即使我这样做

sshpass -p 'webmin' ssh webmin@apps.mydomain.local ls -al /var/www

我可以清楚地看到服务器上的文件......有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我敢打赌,< /var/www/complete_db.sql部分正在传递给sshpass,而不是作为发送到远程服务器的命令的一部分。

一些巧妙的引用可能会解决这个问题 - 我尝试将整个远程命令放入引号:

sshpass -p 'webmin' ssh webmin@apps.mydomain.local "mysql -u root < /var/www/complete_db.sql"