簡體   English   中英

MYSQLDUMP 通過 Powershell SSH (POSH)

[英]MYSQLDUMP over Powershell SSH (POSH)

我現在為此苦苦掙扎了一天。 基本上,我想使用每天在我的 Windows 計算機上運行的 powershell 腳本備份我們網站空間上的 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在“>”操作符上有問題,也許它沒有足夠的時間來執行,我不知道。 還在 Invoke-SSHCommand 上嘗試了 Timeout 之類的東西,但沒有任何效果。

我不能在遠程服務器上做像 crons 這樣的事情,它只是一個功能有限的網絡空間。 啟動 bash 腳本也不起作用,我無權在遠程服務器上執行腳本。

如果您特別需要 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

告訴我們它是這樣解決的。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM