我已经为此挣扎了一天了。基本上,我想备份一个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在“>”操作符上有问题,也许它没有足够的时间执行,我不知道。还尝试了调用sshcommand时超时之类的操作,但没有任何效果。
我不能在远程服务器上做cron之类的事情,它只是一个功能有限的web空间。另外,启动bash脚本也不起作用,我没有在远程服务器上执行脚本的权限。
1条答案
按热度按时间7fyelxc51#
如果您特别需要mysqldump命令,可以使用--result文件或just-r参数。
在这种情况下,它看起来是这样的:
$backupcmd=“mysqldump x--添加删除表-u x-p*****-r backup/backup.sql”
我没有执行测试,因为我目前没有posh,但您可以参考文档:https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_result-文件
告诉我们结果是这样的。
希望这有帮助。