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