2017-02-15 109 views
0

這是一個奇怪的問題。我有一個構建腳本將數據庫轉儲到一個sql文件(其中包含3個數據庫)。遠程mysql導入:沒有這樣的文件或目錄

然後我上傳文件到臨時服務器(作品),當我運行或執行命令:

sshpass -p 'webmin' ssh [email protected] mysql -u root < /var/www/complete_db.sql 

我得到一個錯誤:

bash: /var/www/complete_db.sql: No such file or directory 

這是不正確的 - 它最當然是在該路徑上的登臺服務器上。如果我遠程連接到該服務器並執行:

mysql -u root < /var/www/complete_db.sql 

它進口如預期,一切工作正常...

即使我做

sshpass -p 'webmin' ssh [email protected] ls -al /var/www 

我可以清楚地看到在該​​文件服務器......任何想法?

+0

真棒 - 這是它織補它 - 爲什麼我沒有想到這一點:)非常感謝! –

+0

沒問題。我應該添加它作爲答案,現在就可以做到 –

回答

0

我敢打賭,< /var/www/complete_db.sql部分被傳遞給sshpass,而不是作爲發送到遠程服務器的命令的一部分。

一些巧妙運用報價或許可以解決這個問題的 - 我會嘗試把整個遠程命令到報價:

sshpass -p 'webmin' ssh [email protected] "mysql -u root < /var/www/complete_db.sql" 
相關問題