2014-09-24 14 views
0

我正在構建一個將執行數據庫備份並將備份複製到另一臺計算機上的安全存儲位置的腳本。我已經將該特定位置安裝在Y上:並且已經構建了我的腳本(.bat)。 腳本運行測試運行正常,但是當任務調度運行時,它負責複製的部分:計劃任務複製問題 - 無錯誤

copy /Y "C:\something or other\Backup.bak" "Y:\DB\DB-%mydate%.bak" 

不運行。爲了能看到什麼時,調度運行腳本要去我追加

>> backup.log

到腳本的每一行。 當我試圖手動運行通過任務調度的紙條,以測試有什麼問題的唯一副本輸出是:

0 file(s) copied 

,別無其他。沒有其他錯誤。

我知道,開始文件夾中的任務設置可能是問題,但我沒把它設置爲在腳本的文件夾。另外開始文件夾不應該是一個問題,因爲我一直在使用完整路徑。

編輯:我在Windows Server 2003 SP2上運行它,如果它與它有任何關係。

所以任何想法可能是什麼問題呢?

+0

您的任務是否在具有映射驅動器的帳戶下運行? – 2014-09-24 07:48:33

+0

我已給任務計劃程序計算機管理員的用戶名和密碼。它們可能是正確的,因爲如果沒有合適的登錄名,當腳本嘗試連接到數據庫以執行BACKUP命令時會失敗。也不會複製輸出像「位置無法訪問」或類似的錯誤? – 2014-09-24 08:00:47

回答

1

你可以嘗試在腳本中映射網絡驅動器,或使用UNC? 類似於

pushd \\server\path 
copy c:\backup.bak . 
popd 
+0

WTF?我第一次嘗試批量添加net use命令來檢查它是否可以看到網絡驅動器並且批量可以看到它們,而不是作爲測試添加代碼以刪除網絡驅動器並重新連接它。看看它的工作。但我然後刪除了該代碼,仍然有效。 WTF?!?不過,如果人們看到我的評論,我仍將此標記爲答案。 – 2014-09-24 11:35:34

+0

我只能想到交互式和計劃會話中的不同用戶... – 2014-09-24 11:38:37

+0

同一用戶,但我認爲計劃任務分配了不同的會話。 – 2014-09-25 21:20:28

2

你好,我最近做了Windows服務器計劃任務的一些工作。

退出代碼可以幫助你,如果你看一下任務調度突出你的任務,並選擇歷史標籤爲0x0的成功爲0x1是某種錯誤的,但不是很具體...

一些基本指針

  • 您可以通過右鍵單擊並選擇運行
  • 的用戶帳戶的任務正在運行測試計劃的任務,需要登錄批量用戶在服務器上 權限要運行這個任務可以 加入當地政策開始>運行/搜索gpedit.msc或由 在域上管理組策略。
  • 如果不是你正在使用測試Shift +右鍵單擊命令提示符,運行任務運行作爲用戶,然後運行批處理文件的帳戶,這將至少給你信心的用戶帳戶可以交互運行該批處理文件

更多信息,請參閱http://technet.microsoft.com/en-us/library/cc721846.aspx

+0

它報告0x1爲我猜的錯誤。 我已經嘗試了通過右鍵單擊任務並選擇運行來運行它。這就是我對它進行測試的結果,發現複製操作行爲很糟糕。 我正在使用計算機管理員帳戶來運行腳本,調度程序已提供用戶名和密碼,它連接到數據庫併成功運行BACKUP命令,它正在登錄沒有問題 我在登錄時測試了命令作爲管理員。 – 2014-09-24 08:02:33

+0

您是否已檢查管理員用戶是否在組策略中以批用戶訪問身份登錄? – 2014-09-24 08:52:18

+0

這不會完全阻止我運行批處理文件中的任何命令嗎?因爲這不是正在發生的事情。只有一行(複製)導致問題。 – 2014-09-24 11:32:42