iT邦幫忙

0

Windows Server 2003 R2,透過batch script & 排程執行備份時,無法連上網路磁碟機。

公司的兩台伺服器是Windows Server 2003 x86 R2版本的,上面裝有掃毒軟體 Symantec Anti-Virus 10.1.394 & LiveUpdate 3.0

伺服器上會掛NAS的網路磁碟機(設N:)作資料及系統的備份,每天會各執行一次,寫batch script透過排程執行。

有一台(簡稱ServerA),原本都好好的,透過排程自動執行備份時都能抓到網路磁碟機(N:)並將資料存在N:上。但上周開始,不確定是否是因為我手動執行了LiveUpdate (3.0) 的後遺症? 還是如何,ServerA 上的排程無法抓到網路磁碟機了。。。透過人工執行script也無法作複製檔案到N:上;但我點擊網路磁碟機(N:),做Copy & Paste檔案夾及檔案,卻又無任何問題。

系統的備份也是,透過排程啟動batch script無法順利被執行,但人工執行同一支batch script卻又能啟動NTBackup執行備份到結束。

在Batch script中,我有加判斷式 IF EXIST N:{path} ,如果無法抓到,則我會另外下一個指令net use Y: \{ip}{path} {password} /user:{username} 然後再確認是否 Y:{path}存在,結果這兩個都回傳false... (怪事) <-- 當透過batch script執行時。

我修改了其中一支script,將xcopy用robocopy取代,來執行資料的備份,則會有錯誤訊息回傳:
ERROR 5 (0x00000005) Getting File System Type of Destination N:{path}\ Access is denied.

遇到的問題整理:

  1. 透過排程單獨執行NTBacup時無法抓到網路磁碟機。(備份的目的地指向網路磁碟機)
  2. 透過batch script+排程執行NTBacup時無法抓到網路磁碟機,但單獨執行batch script,NTBacup執行檔被驅動起後可以正確的執行備份並存檔於網路磁碟機。(備份的目的地指向網路磁碟機)
  3. 透過batch script+排程 執行檔案的複製(copy)跟搬移(move)時無法抓到網路磁碟機。
  4. 透過人工執行batch script時,無法抓到網路磁碟機。

不知道各位大大有沒有碰過這樣的情形? 該怎麼解決呢??

另外一台伺服器(ServerB)好一點,N:雖然每次在batch script中判斷時都無法找到,但我只要另掛一個點 net use Y:...... batch script就能抓到 Y:{path}.... 的路徑並執行備份的工作。

但我人工搬移、複製檔案透過Remote Desktop GUI到N:上都無任何問題,也可以點擊進入到網路磁碟機內看到檔案。

不過就很奇怪,為何透過排程執行batch script時,會無法抓到網路磁碟機?

harrytsai iT邦新手 5 級 ‧ 2018-10-09 18:02:19 檢舉
我個人都是用windows 排程器+fastcopy做備份,網路上有教怎麼設定成批次檔,很久沒有用到ntbackup了
CalvinKuo iT邦大師 7 級 ‧ 2018-10-09 23:44:29 檢舉
https://ithelp.ithome.com.tw/questions/10089061
請看一下上面連結 liurambo0911 (藍波大)的回覆。我覺得有可能是排程執行帳號權限問題造成...
yenct iT邦新手 5 級 ‧ 2018-10-10 09:15:15 檢舉
極有可能是權限問題,但我不知道哪裡卡到權限,讓GUI介面下用滑鼠點可以通,但是自動執行的script+排程卻被擋下來。

因為原本同個環境下是可以執行的。備份一直都有在做直到上周。

我有點懷疑是老舊的Symantec Anti-Virus + 舊版的LiveUpdate在某些情況下是不是擋了網路磁碟的出入,但無法證實,因為這軟體安裝在那裏很久了,一直都在。

另外,即使我下了persistent:yes,一陣子後還是會變成disconnected network drive的狀態。我用滑鼠點進去網路磁碟機之後再回來,才會恢復正常連現狀。(詭異)

2 個回答

0
chwei_wu
iT邦新手 5 級 ‧ 2018-10-09 14:50:41

不知道有沒有中文型態的目錄,下面是我之前要幫公司換共用磁碟機路徑寫的提供參考

Bat File 本身若是 UTF8 語系, 為了讓 Bat 檔裡的中文字正常顯示與讀取
必須利用 chcp 變更 Command Line 語系為 UTF8 (代碼為 65001),如果沒有就不用chcp

@echo off
chcp 65001
net use * /d /YES 
net use z: \\192.168.1.1\共用資料夾 /USER:domain\user userpassword /persistent:YES
exit

說明
net use /persistent:yes 為永遠紀錄
/USER:DOMAIN\user userpassword (帳密中間有空格)
執行環境為win7
不過 建議不要透過共享磁碟的方式備份八.我是有很倒楣的碰過中病毒的。
所以後來乾脆用FileZilla+winscp+7-zip 這三個去做備份上傳
這三個都是開源的,filezilla 設定一下限制來源ip就很好用了。
7-zip和winscp都可以透過指令方式使用,也就可以寫入bat檔執行,當然可能要先設定
path的變數到系統內部,以免找不到執行程式。
不過這是個人習慣,提供參考囉。

yenct iT邦新手 5 級 ‧ 2018-10-10 09:09:30 檢舉

謝謝您的回覆。

  1. 全英文的目錄。
  2. persistent:yes 我用過,一樣在執行自動化排成的時候失效。
  3. 在batch script中我沒有全部刪除網路磁碟機。而是先偵測預設的網路磁碟機完整路徑是否通,不通的話,我會再另外建一個新的(net use 指令),掛到不同英文字母上去,然後再次檢查是否通(但居然情況是可以掛,卻偵測不到完整路徑下的目錄)
0
bluegrass
iT邦研究生 5 級 ‧ 2018-10-10 08:58:08

何不用cobian backup

yenct iT邦新手 5 級 ‧ 2018-10-10 09:03:21 檢舉

您好,因為原本的方式在其他伺服器上是可以執行的。
另外,出問題的伺服器原本也是可以用xcopy直接複製檔案到Net drive上面的,包含NTBackup也可執行。但就在上周開始出問題了。

我要發表回答

立即登入回答