Планировщик заданий запускает скрипты и программы по расписанию, при старте системы или по событию — удобно для бэкапов, ротации логов и контролируемых перезагрузок на VPS Windows.
Типичные сценарии
- Копирование каталогов на другой диск или шару
- Экспорт БД или конфигурации
- Ротация / сжатие логов
Способ 1: графический интерфейс
- Откройте Планировщик заданий (
taskschd.msc). - Создать задачу… (не «Простую задачу», если нужен полный контроль).
- Вкладка Общие: имя, например
Ежедневный бэкап, при необходимости Выполнить с наивысшими правами. - Вкладка Триггеры: Создать… → Ежедневно в нужное время.
- Вкладка Действия: Создать… → Запуск программы
- Программа:
powershell.exe - Аргументы:
-ExecutionPolicy Bypass -File "C:\Scripts\backup.ps1"
- Программа:
- Вкладки Условия / Параметры: отключите переход в спящий режим, если задача должна выполняться без залогиненного пользователя.
Способ 2: PowerShell (ежедневно в 3:00)
Создайте C:\Scripts\backup.ps1 (пример — адаптируйте):
PowerShell$dest = "D:\Backups" New-Item -ItemType Directory -Force -Path $dest | Out-Null Copy-Item -Path "C:\inetpub\monsite" -Destination (Join-Path $dest ("site_" + (Get-Date -Format "yyyyMMdd"))) -Recurse -Force
Регистрация задачи:
PowerShell$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument '-ExecutionPolicy Bypass -File "C:\Scripts\backup.ps1"' $trigger = New-ScheduledTaskTrigger -Daily -At 3am $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest Register-ScheduledTask -TaskName "BackupSiteQuotidien" -Action $action -Trigger $trigger -Principal $principal
Проверка:
PowerShellGet-ScheduledTask -TaskName "BackupSiteQuotidien" Start-ScheduledTask -TaskName "BackupSiteQuotidien"
Рекомендации
- Перед планированием прогоните скрипт вручную.
- Пишите вывод в лог-файл внутри
.ps1. - Секреты в скриптах защищайте, используйте учётные записи с минимальными правами.
Устранение неполадок
- Задача не выполняется — Просмотр событий → журналы Windows → Приложение и журнал Планировщика.
- Ошибка 0x1 — часто неверный путь, отсутствующий скрипт или политика выполнения; используйте
-ExecutionPolicy Bypassкак выше.
Дополнительно: Первоначальная настройка VPS Windows.