2017-02-15 110 views
0

这是一个奇怪的问题。我有一个构建脚本将数据库转储到一个sql文件(其中包含3个数据库)。远程mysql导入:没有这样的文件或目录

然后我上传文件到临时服务器(作品),当我运行或执行命令:

sshpass -p 'webmin' ssh [email protected] 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 [email protected] ls -al /var/www 

我可以清楚地看到在该​​文件服务器......任何想法?

+0

真棒 - 这是它织补它 - 为什么我没有想到这一点:)非常感谢! –

+0

没问题。我应该添加它作为答案,现在就可以做到 –

回答

0

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

一些巧妙运用报价或许可以解决这个问题的 - 我会尝试把整个远程命令到报价:

sshpass -p 'webmin' ssh [email protected] "mysql -u root < /var/www/complete_db.sql" 
相关问题