2012-03-22 113 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