MYSQLDUMP через Powershell SSH (POSH) - PullRequest
       1

MYSQLDUMP через Powershell SSH (POSH)

0 голосов
/ 27 ноября 2018

Я борюсь с этим уже один день.По сути, я хочу сделать резервную копию базы данных MySQL в нашем веб-пространстве с помощью скрипта powershell, который ежедневно запускается на моем компьютере с Windows.

Когда я использую Putty и ввожу следующую команду, создается файл резервной копии:

mysqldump XXXX --add-drop-table -u XXXX -p******* > backup/backup.sql

Но когда я запускаю его из powershell, он не будет создавать файл резервной копии, даже когда явызовите точно такую ​​же команду:

$sshsession = New-SSHSession -ComputerName $sshserver -Credential $Creds -Force -Verbose
[string]$backupcmd = "mysqldump XXXX --add-drop-table -u XXXX -p******* > backup/backup.sql"
Write-Output $backupcmd
$backupdb = Invoke-SSHCommand -SSHSession $sshsession -Command "$backupcmd"

Кажется, что у Posh-SSH проблемы с оператором ">", возможно, у него недостаточно времени для выполнения, я не знаю.Также пробовал такие вещи, как Timeout на Invoke-SSHCommand, но пока ничего не получалось.

Я не могу делать такие вещи, как crons на удаленном сервере, это просто веб-пространство с ограниченными функциональными возможностями.Также не работает запуск bash-скрипта, у меня нет прав на выполнение скриптов на удаленном сервере.

1 Ответ

0 голосов
/ 28 ноября 2018

Если вам нужна именно команда mysqldump, вы можете использовать параметр --result-file или просто -r.

В этом случае это будет выглядеть так:

$backupcmd = "mysqldump XXXX --add-drop-table -u XXXX -p ******* -r backup / backup.sql"

Я не выполнял тесты, потому что у меня нет POSH-доступав настоящее время, но вы можете обратиться к документации: https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_result-file

Скажите нам, что это сработало.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...