gunzip和mysql import - 没有这样的文件或目录

时间:2016-01-11 19:09:50

标签: mysql bash gunzip

我已经为数据库还原的自动化创建了一个bash脚本。当我运行以下命令时,我得到/my/sql/file/path.sql:没有这样的文件或目录。

ssh $USER@"$cloneMysqlHost" gunzip /path/file.sql.gz && MySQL -u root -p db_name < /path/file.sql 

我在ssh上的主机上做了一个ls -lrot,只是为了确保文件存在权限是正确的,它们是。

任何想法我做错了什么?

提前致谢!

2 个答案:

答案 0 :(得分:2)

&&导致 local shell拆分命令并在本地运行MySQL命令。

<重定向也在本地完成(以及错误原因)。

虽然正在远程主机上执行gunzip

如果您希望它在远程系统上运行,则需要将整个参数引用到ssh

ssh "$USER@$cloneMysqlHost" 'gunzip /path/file.sql.gz && MySQL -u root -p db_name < /path/file.sql'

答案 1 :(得分:0)

您是否正确提供密码?此外,不确定&amp;&amp;和将要使用管道的情况。 MySql可能无效,请使用mysql。有关详细信息,请参阅here

ssh $USER@"$cloneMysqlHost" gunzip /path/file.sql.gz | mysql -u root -p [password] db_name