公司的兩台伺服器是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.
遇到的問題整理:
不知道各位大大有沒有碰過這樣的情形? 該怎麼解決呢??
另外一台伺服器(ServerB)好一點,N:雖然每次在batch script中判斷時都無法找到,但我只要另掛一個點 net use Y:...... batch script就能抓到 Y:{path}.... 的路徑並執行備份的工作。
但我人工搬移、複製檔案透過Remote Desktop GUI到N:上都無任何問題,也可以點擊進入到網路磁碟機內看到檔案。
不過就很奇怪,為何透過排程執行batch script時,會無法抓到網路磁碟機?
不知道有沒有中文型態的目錄,下面是我之前要幫公司換共用磁碟機路徑寫的提供參考
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的變數到系統內部,以免找不到執行程式。
不過這是個人習慣,提供參考囉。
何不用cobian backup