Simple controllable and cancelable script for backup software Auto-sleep/hibernate
有好些電腦或虛擬電腦在進行 自動/手動 備份作業時,希望可以在完成時自動進入 Sleep mode,…
有好些電腦或虛擬電腦在進行 自動/手動 備份作業時,希望可以在完成時自動進入 Sleep mode,一直有利用不同 Backup software 裡的自動 Shutdown (Sleep/Hibernate) 功能。但過度自動有些時候也不太好,有時候有關系統仍在使用中的,於是打算編寫一些 Shell script 來優化一下,同時間可以籍著修改一個 File 裡的 Variable 來讓 Shell script 判斷一下要不要真的執行 Auto-sleep。一旦開始進入 Auto-sleep 的程序也先倒數 3oo 秒,期間可以用 Run… 或 DOS Prompt 鍵入 Command 解除。
材料
PSTools
這個是一系列很好用的小程式,詳情可參考這裡(PsTools By Mark Russinovich)。
DOS Batch Script
Knowledge of DOS Shell – Batch Script. 簡單介紹 。
存放 Yes or No variable 的檔案
我把它的檔案名定為 Sure-AutoSuspend.bat:/p>
@ECHO OFF
SET var_Sure=Y
主 Script 檔案
存放位置是 C:\Program Files
Auto-Suspend.bat 的內容:
@ECHO OFF
echo %DATE% %TIME%
CALL Sure-AutoSuspend.bat
ECHO Preset Sure for Auto-suspend value is %var_Sure%
IF “%var_Sure%”==”Y” (
ECHO “Preparing to suspend this computer…”
“C:\Program Files\PSTools\psshutdown.exe” -d -t 300 -v 300
PAUSE
) ELSE IF “%var_Sure%”==”N” (
ECHO “Do nothing.”
REM call
)
設定備份軟件在完成備份工作時執行主 Script 檔案
注意,這裡的例子是 Acronis 的備份軟件,其它的備份軟件設定版面有異,或是個別的備份軟件並沒有這種功能也說不定的。
一旦發現 DOS Prompt 彈出來顯示已進入倒數階段,而手上的工作仍未完成,或者是電腦仍有些 Batch Process 正在進行中不打算中止,可以在 Run… 或 DOS Prompt 裡輸入以下指令取消之。
psshutdown -a