جدولة المهام (Task Scheduler) تشغّل سكربتات أو برامج في وقت محدد أو عند الإقلاع — مناسب لنسخ احتياطي أو صيانة على VPS Windows.
استخدامات
- نسخ مجلدات إلى قرص أو مشاركة
- تصدير قاعدة أو إعداد
- ضغط أو تدوير السجلات
الطريقة 1: واجهة
- افتح Task Scheduler (
taskschd.msc). - Create Task…
- General: اسم مثل
DailyBackup، وفعّل Run with highest privileges إن لزم. - Triggers → New… → جدولة يومية في الساعة المطلوبة.
- Actions → Start a program
- Program :
powershell.exe - Arguments :
-ExecutionPolicy Bypass -File "C:\Scripts\backup.ps1"
- Program :
- Conditions / Settings: عطّل السبات إن لزم للتشغيل بدون مستخدم.
الطريقة 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"
ممارسات
- اختبر السكربت يدوياً أولاً.
- سجّل المخرجات إلى ملف log.
- احمِ الأسرار في السكربتات.
استكشاف الأخطاء
- راجع عارض الأحداث (Event Viewer) ومجدول المهام.
- 0x1 غالباً مسار خاطئ أو سياسة تنفيذ — استخدم
-ExecutionPolicy Bypass.
راجع أيضاً الإعداد الأولي لـ VPS Windows.