最近遇見一個奇怪的現象,在做某系統的定期備份的時候使用到了非系統自帶Rsync命令,但是手動啟動沒問題,而且又非常期望批量化在多台主機上進行,怎么辦呢?Windows Server 2003下面這樣執行任務計划沒問題,而就Windows Server 2008 R2下面出現意外。
正常情況下我們的任務計划會有反饋數值,通過它可以判斷這個任務計划上次是否運行正常(詳細連接:http://support.microsoft.com/kb/267031/)。
· 代碼 0 或 0x0:操作成功完成。
· 代碼 1 或 0x1:調用的函數不正確或調用了未知函數。
· 代碼 10 或 0xa:環境不正確。
· 代碼 0x8009000f:常規訪問被拒絕
Figure 1看到上次運行結果出現非0情況
這種非〇情況表示的是不能被接受的。
通過對這個批處理設置斷點,我看到了這樣的報錯信息。
Figure 2在批處理中加入Pause 進行斷點,查看錯誤信息
很明顯,這個rsync不是系統自帶的程序和文件,因此無法被系統直接調用,猜測和環境變量有關,仔細尋找Windows Server 2008 R2 下面的任務計划選項,我看到了這個填空的地方。
Figure 3起始於(可選)項
我將這個填寫成了該條腳本的所在的目錄,再次運行該任務計划,得到返回成功的標記,並且在服務本分服務器端受到相應的備份內容。
這里回顧一下,兩個版本操作系統的任務計划的不一樣,Windows Server 2003 下面可以選擇的內容,項目並不多,不過他默認的情況下會將起始於填寫進去,使用的就是所在腳本的上一級目錄。
Figure 4 Windows Server 2003 下面的起始於,默認被填寫
因此設置Windows Server 2008 ,2012這樣的基於Nt6核心的系統的任務計划的時候建議將起始於進行一下設置。
-=EOB=-