我正在使用一个shell脚本打开一个ssh连接并创build一个sqldump。
但是,当我在shell脚本中使用mysqldump
,它给了我错误:“没有这样的文件或目录”
这是我使用的线路:
ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql
当我在打开的ssh连接或命令行中的服务器中使用mysqldump
时, mysqldump
工作正常。
所以我的问题是为什么我得到错误,为什么我不能在shell脚本中运行mysqldump命令?
您需要转义>符号。 尝试这个:
ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases \> /home/user/sqlfile.sql
你也可以把你的ssh远程命令用引号引起来。 例如
ssh user@host "mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql"
这样,如果您想将转储文件保存到本地文件夹中,您可以:
ssh user@host "mysqldump -uusername -hlocalhost -ppassword --all-databases" > /home/user/sqlfile.sql