Я создал следующий сценарий 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
Его функция должна составлять ежедневную резервную копию базы данных MySQL для моего веб-сайта WordPress.
Когда я запускаю скрипт в PowerShell ISE, он работает нормально, и файл дампа MySQL создается без проблем.
Однако в планировщике заданий он застрял при запуске с кодом 0x00041301
.
Для получения справки, я использую технику my.cnf
described here. И я задал задачу запустить, вошел ли пользователь в систему или нет.
КОД UPDATE
На основании ответа 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
Удалите '2> & 1' из строки, которую вы назначаете $ backupFilePath, и посмотрите, все ли вы получаете незаконные символы (> является незаконным символом пути). –