次のPowerShellスクリプトを作成しました。タスクスケジューラのPowerShell MySQLバックアップスクリプトのエラー0x00041301
$root = 'C:\Backups\My Website\Database Dumps\'
$dateString = (Get-Date).ToString("yyyy-MM-dd")
$fileName = $dateString + "-MyWebsiteDbBackup.sql"
$backupFilePath = ($root + $fileName)
$command = ("mysqldump -u root wpdatabase > " + "`"$backupFilePath`"")
Write-Host $command
Invoke-Expression $command
その機能は、自分のワードプレスWebサイト用のMySQLデータベースを毎日バックアップすることになっています。
PowerShell ISEでスクリプトを実行すると問題なく実行され、MySQLダンプファイルが作成されます。
ただし、タスクスケジューラでは、コード0x00041301
で実行中に停止していました。
資格情報については、my.cnf
のテクニックdescribed hereを使用しています。ユーザーがログオンしているかどうかにかかわらず、実行するタスクを設定しました。
vonPryzの答えに基づいて
コード更新。
$root = 'C:\Backups\My Website\Database Dumps\'
$dateString = (Get-Date).ToString("yyyy-MM-dd")
$fileName = $dateString + "-MyWebsiteDbBackup.sql"
$backupFilePath = ($root + $fileName + " 2>&1")
$command = ("mysqldump -u root wpdatabase > " + "`"$backupFilePath`"")
Write-Host $command
$output = Invoke-Expression $command
$output | Out-File C:\mysqlBackupScriptOutput.txt
これは今私が間違って何をやっているillegal character in path
を言って、エラーを与えますか?
「$ dateString =(Get-Date).ToString( "yyyy-MM-dd") 'は読みやすくなります。 – vonPryz
ありがとうございます。私はそれをそれに更新します。 – Ciwan
$ backupFilePathに割り当てた文字列から '2>&1'を削除して、まだ無効な文字を取得しているかどうかを確認します(>は不正なパス文字です)。 –