زمانبند وظایف (Task Scheduler) به شما امکان میدهد اسکریپتها یا برنامهها را بهطور خودکار در ساعت مشخص، هنگام راهاندازی یا پس از یک رویداد اجرا کنید - مناسب برای بکاپگیری، پاکسازی لاگها یا ریاستارتهای کنترلشده روی VPS ویندوز شما.
موارد استفاده رایج
- کپی پوشهها روی دیسک یا اشتراک دیگر
- خروجی گرفتن از یک پایگاه داده یا یک پیکربندی
- چرخش / فشردهسازی فایلهای لاگ
روش اول: رابط گرافیکی
- Task Scheduler (
taskschd.msc) را باز کنید. - Create Task… (نه «Create Basic Task» اگر کنترل بیشتری میخواهید).
- زبانه General: یک نام، مثلاً
Sauvegarde quotidienne، وارد کنید و در صورت نیاز Run with highest privileges را تیک بزنید. - زبانه Triggers: New… ← Daily در ساعت دلخواه.
- زبانه Actions: New… ← Start a program
- Program:
powershell.exe - Arguments:
-ExecutionPolicy Bypass -File "C:\Scripts\backup.ps1"
- Program:
- زبانه Conditions / Settings: اگر وظیفه باید حتی بدون کاربر واردشده اجرا شود، گزینه «Sleep» (به حالت خواب رفتن) را غیرفعال کنید.
روش دوم: 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به یک فایل لاگ هدایت کنید. - از اسکریپتهای حاوی اطلاعات محرمانه محافظت کنید (حسابهای سرویس، حداقل دسترسی).
عیبیابی
- وظیفه اجرا نمیشود: Event Viewer ← Windows Logs ← Application و لاگ Task Scheduler را بررسی کنید.
- خطای 0x1: معمولاً به دلیل مسیر نادرست، نبود اسکریپت یا سیاست اجرا است؛ همانطور که در بالا آمده از
-ExecutionPolicy Bypassاستفاده کنید.
برای ایمنسازی دسترسی روزمره به سرور، پیکربندی اولیه یک VPS ویندوز را هم ببینید.