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

9ed*_*dge 5 linux ssh shell mysqldump

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

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

这是我使用的线:

ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql
Run Code Online (Sandbox Code Playgroud)

mysqldump我在打开的ssh连接或命令行中的服务器上使用它时的工作原理.

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

gog*_*ors 5

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

ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases \> /home/user/sqlfile.sql
Run Code Online (Sandbox Code Playgroud)


egg*_*ers 5

您也可以将ssh远程命令用引号引起来。例如

ssh user@host "mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql"
Run Code Online (Sandbox Code Playgroud)

这样,如果您希望将转储全部打包到本地文件夹,则可以:

ssh user@host "mysqldump -uusername -hlocalhost -ppassword --all-databases" > /home/user/sqlfile.sql
Run Code Online (Sandbox Code Playgroud)