代码之家  ›  专栏  ›  技术社区  ›  Alex

通过Powershell SSH的MYSQLDUMP(高级)

  •  0
  • Alex  · 技术社区  · 7 年前

    我已经为此苦苦挣扎了一天了。基本上,我想用每天在我的windows计算机上运行的powershell脚本在我们的Web空间上备份一个MySQL数据库。

    当我使用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在“>”操作符上有问题,也许它没有足够的时间执行,我不知道。还尝试了调用SSHCommand时超时之类的方法,但没有任何效果。

    1 回复  |  直到 5 年前
        1
  •  0
  •   Robson Martins    7 年前

    如果您特别需要mysqldump命令,可以使用--result文件或just-r参数。

    在这种情况下,它将如下所示:

    $backupcmd=“mysqldump XXXX——添加删除表-u XXXX-p******-r backup/backup.sql”

    https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_result-file

    告诉我们结果是这样的。