Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Windows Server 2003 定時重啟腳本與計劃任務配置全攻略

編輯:關於伺服器

Windows Server 2003 雖已停止主流支持,但大量存量業務仍在運行。合理的定時重啟能釋放內存碎片、清理僵死句柄、重置連接池,是低成本維持穩定性的有效手段。本文詳解 shutdown.exe 參數、at 命令、圖形化計劃任務三種配置方式,並給出生產環境最佳實踐建議。

核心命令:shutdown.exe 參數詳解

shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d p:xx:yy]

關鍵參數:
-r           關機並重啟 (核心參數)
-f           強制關閉應用程序,不提示用戶 (生產環境必加)
-t xx        等待 xx 秒後執行 (緩衝時間,建議 60-300 秒)
-c "comment" 關機原因註釋 (記錄在事件日誌中)
-m \\PCNAME  遠程執行 (需 RPC/管理權限)

三種配置方式,由簡到繁

方式一:at 命令 (最快,命令行一鍵)

# 每天凌晨 03:30 重啟,強制關閉程序,等待 60 秒
at 03:30 /every:M,T,W,Th,F,S,Su shutdown.exe -r -f -t 60 -c "Scheduled daily maintenance reboot"

# 僅工作日重啟
at 03:30 /every:M,T,W,Th,F shutdown.exe -r -f -t 60 -c "Weekday maintenance reboot"

# 取消所有 at 任務
at /delete /yes
> **注意**:at 服務需運行 (net start schedule),且任務在 SYSTEM 權限下執行。

方式二:圖形化計劃任務 (最直觀,推薦生產環境)

  1. 控制面板 → 計劃任務 → 添加計劃任務
  2. 瀏覽選擇:C:\WINDOWS\system32\shutdown.exe
  3. 觸發器:每天,時間設為 03:30 (業務低峰期)
  4. 完成向導後,右鍵任務 → 屬性 → 任務 標籤:
運行: C:\WINDOWS\system32\shutdown.exe -r -f -t 60 -c "Daily maintenance reboot"
起始于: C:\WINDOWS\system32
運行身份: SYSTEM (或專用服務帳戶)
勾選: "只有在網絡連接可用時才啟動"

方式三:批處理腳本 + 計劃任務 (最靈活,支持預檢查/日誌/通知)

創建 C:\Scripts\AutoReboot.bat:

@echo off
set LOG=C:\Logs\AutoReboot.log
echo [%date% %time%] === Scheduled Reboot Initiated === >> %LOG%

:: 可選:檢查關鍵服務狀態,寫入日誌
for %%S in (w3svc mysqld nginx) do (
    sc query %%S | find "RUNNING" >nul && echo [%date% %time%] Service %%S OK >> %LOG% || echo [%date% %time%] Service %%S DOWN >> %LOG%
)

:: 可選:發送郵件/短信告警 (需配置 blat 或 PowerShell Send-MailMessage)
:: powershell -Command "Send-MailMessage -To 'admin@company.com' -Subject 'Server Reboot' -Body 'Scheduled reboot at %date% %time%' -SmtpServer 'smtp.company.com'"

echo [%date% %time%] Executing shutdown -r -f -t 60 >> %LOG%
shutdown.exe -r -f -t 60 -c "Scheduled maintenance reboot via AutoReboot.bat"

計劃任務調用:C:\Scripts\AutoReboot.bat

生產環境最佳實踐清單

項目建議理由
重啟時間03:00-04:00 之間 (如 03:33)業務最低谷,減少用戶影響;避開備份/日誌切割/殺毒掃描時段
頻率每週 1 次 或 每月 1 次日重啟過於頻繁,增加啟動失敗風險;月重啟足以清理多數洩漏
緩衝時間 -t60-300 秒給數據庫刷盤、應用優雅關閉、用戶保存工作的時間
強制參數 -f**必須加上**防止掛起進程阻塞關機,導致重啟失敗、系統掛起
錯開補丁日避開「第二個週二」微軟補丁日補丁安裝需重啟,雙重啟動可能導致更新失敗或系統損壞
日誌留存重啟前後寫入自定義日誌事後可追蹤重啟時間、耗時、服務狀態、異常信息
監控告警重啟後 5 分鐘檢查關鍵服務/端口/頁面確保重啟真正恢復健康,而非進入「啟動失敗循環」

避坑指南

  • 不要在「系統屬性 → 進階 → 啟動和故障恢復」中勾選「自動重新啟動」:那是針對藍屏/崩潰的自動重啟,而非計劃性維護重啟,混淆兩者會導致故障排查混亂。
  • 若服務器跑數據庫,重啟前務必確認數據庫服務支持優雅關閉 (MySQL innodb_fast_shutdown=1, SQL Server CHECKPOINT),否則可能導致數據損壞、啟動時長時間回滾。
  • 虛擬機環境:優先使用虛擬化平台 (Hyper-V/VMware/KVM) 的「排程重啟」功能,而非客體系統內部任務,避免時間漂移、快照衝突。
  • 集群/負載均衡節點:錯開各節點重啟時間 (間隔 30 分鐘以上),確保服務始終有節點可用。

總結

Windows Server 2003 定時重啟,**圖形化計劃任務 + shutdown.exe -r -f -t 60 + 低峰期 (03:30) + 週/月頻率 + 完整日誌/告警** 是穩妥的標準姿勢。對於仍在服役的 2003 老兵們,這套「低成本續命術」能繼續守護業務平穩運行,直到遷移上雲/升級系統的那一天到來。

Copyright © Windows教程網 All Rights Reserved