mysqldump с подключением ssh в скрипте оболочки - PullRequest
5 голосов
/ 22 марта 2012

Я использую сценарий оболочки, который открывает ssh-соединение и создает sqldump.

Но, когда я использую mysqldump в сценарии оболочки, это выдает мне ошибку: «Нет такого файла или каталога»

Это строка, которую я использую:

ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases > /home/user/sqlfile.sql

mysqldump работает, когда я использую его в открытом ssh-соединении или на сервере в командной строке.

Итак, мой вопрос: почему я получаю сообщение об ошибке и почему я не могу запустить команду mysqldump в сценарии оболочки?

Ответы [ 2 ]

5 голосов
/ 29 января 2015

Вы также можете заключить ваши удаленные 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
5 голосов
/ 22 марта 2012

Вам необходимо выбрать символ>. Попробуйте это:

ssh user@host mysqldump -uusername -hlocalhost -ppassword --all-databases \> /home/user/sqlfile.sql
...