BAT腳本:將本地昨天生成的文件上傳到服務器_第1頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、bat腳本:將本地昨天生成的文件,上傳到服務器由于工作需要,平生第一次用windows的dos寫腳本。 需求:本地有個軟件,天天生成相應的log文件,并保存在以日期時光為名目的文件夾下。然后需要在后一天,將前一天生成的log文件及文件夾上傳到一個日志服務器舉行保存。 實現(xiàn)工具:bat腳本,nc工具,方案任務 其中,由于系統(tǒng)默認的ftp指令行,不支持passive模式,而port模式下,需要修改或開啟log生成端服務器的防火墻,需要終于改用網(wǎng)絡上免費的小工具ncftp,這個小工具比系統(tǒng)自帶的強大了n倍,支持指令行,支持pasv模式也可以切換port模式,還支持斷點續(xù)傳,上傳勝利后刪除本地文件等。

2、 實現(xiàn)步驟: 1)轉到腳本所在名目; 2)上傳之前未能勝利上傳的文件; 3)取到今日需要上傳的文件夾名稱; 4)上傳今日需要上傳的文件夾及文件; 5)假如勝利,刪除本地文件,假如不勝利,將文件夾移到備份名目; 6)刪除空名目; 以下是詳細的腳本內(nèi)容(英文版系統(tǒng)): - echo off dt=%:10,4%date:4,2%date:7,2% set batpath=%dp0 set dname= rem turn to bat's path %d0 %batpath% bak nul 2 nul rem re-upload bak log directory and file to

3、nms server type %batpath%evtlog.txt | ftpfail nul 2 nul if %errorlevel% equ 0 goto reupload if %errorlevel% neq 0 goto reupend :reupload echo -%dt% re-upload bak log- 2 %batpath%evtlog.txt 1 2 %batpath%ftpput -u adminisator -p password -r 5 -z -r -dd 0 /3 %batpath%bak* 2 %batpa

4、th%evtlog.txt 1 2 if %errorlevel% equ 0 goto cleanrelog if %errorlevel% neq 0 goto reupfailed :cleanrelog cd. %batpath%evtlog.txt for /f tokens=* %a in ('dir /b /ad /s %batpath%bak| /r') do rd %a /q 2 nul goto reupend :reupfailed echo %dt%:ftpfailed reupload files the day before yesterday fa

5、iled! 2 %batpath%evtlog.txt 1 2 goto reupend :reupend rem get the yesterday date for /d %i in (20*) do if %i lss %dt% set dname=%i if ist %dname% goto if not exist %dname% goto :eof :ncftp rem transfer yesterday log file and er to nms server echo -%dt% ftp log- 2 %batpath%evtlog.txt 1 2 %batpath%ncf

6、tpput -u administrator -p password -r 5 -z -r -dd 0 /3 %batpath%dname% 2 %batpath%evtlog.txt 1 2 if %errorlevel% equ 11 goto session if %errorlevel% equ 10 goto library if %errorlevel% equ 9 goto error if %errorlevel% equ 8 goto usage if %errorlevel% equ 7 goto url if %errorlev

7、el% equ 6 goto directoryout if %errorlevel% equ 5 goto directory if %errorlevel% equ 4 goto transfertimeout if %errorlevel% equ 3 goto transfer if %errorlevel% equ 2 goto connecttimeout if %errorlevel% equ 1 goto connect if %errorlevel% equ 0 goto ccess :success echo ncftp:0success. 2 %batpath%evtlo

8、g.txt 1 2 goto exit :connect echo ftpfailed:1could not connect to remote host. 2 %batpath%evtlog.txt 1 2 goto movefile :connecttimeout echo ftpfailed:2could not connect to remote host - timed out. 2 %batpath%evtlog.txt 1 2 goto movefile :transfer echo ftpfailed:3transfer failed. 2 %batpath%evtlog.tx

9、t 1 2 goto movefile :transfertimeout echo ftpfailed:4transfer failed - timed out. 2 %batpath%evtlog.txt 1 2 goto movefile :directory echo ftpfailed:5directory change failed. 2 %batpath%evtlog.txt 1 2 goto movefile :directorytimeout echo ftpfailed:6directory change failed - timed out. 2 %batpath%evtl

10、og.txt 1 2 goto movefile :url echo ftpfailed:7malfoed url. 2 %batpath%evtlog.txt 1 2 goto movefile :usage echo ftpfailed:8usage error. 2 %batpath%evtlog.txt 1 2 goto movefile :error echo ftpfailed:9error in login configuration file. 2 %batpath%evtlog.txt 1 2 goto movefile :library echo ftpfailed:10l

11、ibrary initialization failed. 2 %batpath%evtlog.txt 1 2 goto movefile :session echo ftpfailed:11session initialization failed. 2 %batpath%evtlog.txt 1 2 goto movefile :movefile rem move yesterday log directory s and files to the destination directory bak move /y %batpath%dname% %batpath%bak%dname% 2 %batpath%evtlog.txt 1 2 if %errorlevel% neq 0 echo moveerror:a plie file name exists, or the file cannot be found. 2 %batpath%evtlog.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論