J'ai créé le script PowerShell suivant.Erreur de script de sauvegarde MySQL PowerShell dans le planificateur de tâches 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
Sa fonction est censée faire une sauvegarde quotidienne d'une base de données MySQL pour mon site WordPress. Lorsque je lance le script dans PowerShell ISE, il fonctionne correctement et le fichier de vidage MySQL est créé sans problème. Toutefois, dans Task Scheduler, il était bloqué en cours d'exécution avec un code 0x00041301
.
Pour les informations d'identification, j'utilise la technique my.cnf
described here. Et j'ai défini la tâche à exécuter si un utilisateur est connecté ou non.
CODE MISE À JOUR
Sur la base de la réponse de 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
Cela me donne maintenant une erreur en disant illegal character in path
Qu'est-ce que je fais mal?
En note: '$ dateString = (Get-Date) .ToString (" aaaa-MM-jj ")' serait plus lisible. – vonPryz
Merci, vous avez raison. Je vais le mettre à jour à cela. – Ciwan
Supprimez les '2> & 1' de la chaîne que vous affectez à $ backupFilePath et voyez si vous avez toujours des caractères illégaux (> est un chemin illégal). –