我正在使用shell脚本打开ssh连接并创建一个sqldump。
但是,当我在shell脚本中使用mysqldump
时,它会给我错误:
“没有这样的文件或目录”
这是我使用的行:
ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql
mysqldump
在我打开的ssh连接或命令行服务器中使用时可以正常工作。
所以我的问题是为什么我会收到错误,为什么我不能在shell脚本中运行mysqldump命令?
答案 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