У меня есть скрипт для резервного копирования моей базы данных. Он отлично запускается вручную из командной строки PowerShell, но если я сделаю это запланированной задачей, он сразу же «завершится» с кодом возврата 0. Это на Windows Server 2016.
param(
[string]$schema
)
$date = (Get-Date).ToString("yyyy-MM-dd-HHmmss")
$dest = "z:\$schema\${schema}-$date.sql"
try {
mysqldump --defaults-extra-file=$PSScriptRoot\mysql-backup-opts.cnf --databases $schema > $dest
7z a -mx9 -sdel -bso0 "$dest.7z" $dest
exit 1
}
catch {
exit 0
}
, поскольку он завершается сразу же, я считаю, что он не может запустить команду mysqldump
. Дамп занимает пару минут, поэтому в случае сбоя 7zip это не произойдет сразу (...?)
ПРИМЕЧАНИЕ. Диск z:
сопоставлен с другими учетными данными, поскольку целевой компьютер включен другой домен. Я вошел в систему как локальный администратор, и запланированная задача также запускается как локальный администратор.
ОБНОВЛЕНИЕ: В комментарии я запустил его с start-transcript
. Это определенно проблема с подключенным диском. «Не удается найти диск. Диск с именем« z »не существует.»