iT邦幫忙

0

server 2016 工作排程器(已解決)

欲使用工作排程器跑robocopy.bat,直接點bat執行是正常可複製並將source刪除,但使用排程的時候執行都是失敗,求教大大~程式的部份是否要修改還是排程的設定有問是?(排程執行條件及設定皆為預設)

https://ithelp.ithome.com.tw/upload/images/20211005/20136191KjIL49bHcQ.jpg

看更多先前的討論...收起先前的討論...
Wayne iT邦新手 3 級 ‧ 2021-10-06 04:38:47 檢舉
你要不要在bat裡面加一行 pause,看一下前面那串跑的狀況是如何?
建議多加參數把robocopy結果存log。
https://docs.microsoft.com/zh-tw/windows-server/administration/windows-commands/robocopy
-----
/log<logfile> 將狀態輸出寫入至記錄檔 (覆寫現有記錄檔)。
/log +:<logfile> 將狀態輸出寫入至記錄檔, (將輸出附加至現有的記錄檔) 。
/unicode 將狀態輸出顯示為 Unicode 文字。
/unilog:<logfile> 將狀態輸出以 Unicode 文字的形式寫入記錄檔, (覆寫現有的記錄檔) 。
/unilog +:<logfile> 將狀態輸出以 Unicode 文字的形式寫入至記錄檔 (將輸出附加至現有的記錄檔) 。
-----
然後你用網芳可能會遇到認證機制,改用網路磁碟掛載也有這類問題。
最好解法還是先讓bat做網芳登入取得權限。

另一個點是排程使用的帳號是WRASB\fstop
需要確認該帳號擁有在192.168.110.7和192.168.110.138的讀寫權限

===
其實這問題很多人遇過...當然每個人問題點不一定一樣xD
https://www.google.com/search?q=robocopy+scheduled+task&rlz=1C1ASUM_enTW678TW678&oq=robocopy+sc&aqs=chrome.1.69i57j35i39j0i512l4j69i60l2.5062j0j4&sourceid=chrome&ie=UTF-8
1. 改用 POWERSHELL 寫
2. 將寫好的指令檔排程
參考
https://www.google.com/search?q=powershell+robocopy
https://www.google.com/search?q=powershell+排程設定
基本上有POWERSHELL 之後,它的目的就是為了取代早期的批次檔案
雖然其實很多指令在兩者之間都能使用,但POWERSHELL 功能更為強大
因此建議樓主務必將學習POWERSHELL 排上日程
感謝各位大大的回覆,今天加pause研究了一下,看起來是沒什麼問題,後來測試把最下面的設定改為server2003,並修改bat檔名就能正常執行了,不過後續也因為有大大們的建議加了log跟pause在對於DMZ跟server fram互連的時候才能看到錯誤在哪。

2 個回答

0
by2048
iT邦研究生 3 級 ‧ 2021-10-06 08:43:48

在windows server 2019上的經驗
1.工作排程不支援背景執行 call bat檔
2.只有使用者登入時才執行
3.觸發程序狀態選啟用
4.觸發時間後檢查上次執行結果 操作順利完成,還是工作尚未執行

如果前輩有更棒的經驗記得分享

0
allenlwh
iT邦高手 1 級 ‧ 2021-10-06 16:55:29

1.試著改用無論使用者登入與否均執行
2.勾選以最高權限執行

https://ithelp.ithome.com.tw/upload/images/20211006/20033493ijNauPuuQg.jpg

我要發表回答

立即登入回答