2012-03-22 123 views
4

我正在使用打开ssh连接并创建sqldump的shell脚本。mysqldump与shell脚本中的ssh连接

但是,当我在shell脚本中使用mysqldump它给我的错误: “没有这样的文件或目录”

这是我使用的线路:

ssh [email protected] mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql 

mysqldump作品时我在打开的ssh连接或命令行中的服务器中使用它。

所以我的问题是为什么我得到错误,为什么我不能在shell脚本中运行mysqldump命令?

+0

/home/user/sqlfile.sql是要在客户机上,这意味着你运行命令的计算机是否存在目录? – ajreal 2012-03-22 12:32:06

+0

@ajreal非常感谢您的评论。我无法弄清楚它为什么不起作用。它现在将sqlfile放在我的客户端计算机上。但是可以将它放在服务器上吗? – 9edge 2012-03-22 12:47:11

回答

5

您需要转义>符号。试试这个:

ssh [email protected] mysqldump -uusername -hlocalhost -ppassword --all-databases \> /home/user/sqlfile.sql 
3

你也可以将你的ssh远程命令放在引号中。例如

ssh [email protected] "mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql" 

这样的话,如果你想转储scp将本地文件夹于一身,您可以:

ssh [email protected] "mysqldump -uusername -hlocalhost -ppassword --all-databases" > /home/user/sqlfile.sql