在shell脚本中使用ssh连接的mysqldump

时间:2012-03-22 11:09:15

标签: linux shell ssh mysqldump

我正在使用shell脚本打开ssh连接并创建一个sqldump。

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

这是我使用的行:

ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql

mysqldump在我打开的ssh连接或命令行服务器中使用时可以正常工作。

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

2 个答案:

答案 0 :(得分:5)

你需要逃避>符号。试试这个:

ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases \> /home/user/sqlfile.sql

答案 1 :(得分:4)

您也可以将ssh远程命令括在引号中。 e.g。

ssh user@host "mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql"

这样,如果你想将转储scp到你的本地文件夹,你可以:

ssh user@host "mysqldump -uusername -hlocalhost -ppassword --all-databases" > /home/user/sqlfile.sql