我创建了以下 PowerShell 脚本。
$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
它的功能应该是为我的 WordPress 网站每天备份 MySQL 数据库。
当我在 PowerShell ISE 中运行脚本时,它运行良好,并且创建了 MySQL 转储文件,没有任何问题。
但是,在任务计划程序中,它被卡在使用 code 运行0x00041301
。
对于凭证,我使用的是此处描述my.cnf
的技术。而且我已经将任务设置为无论用户是否登录都运行。
代码更新
基于 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
我究竟做错了什么?