ftp腳本更新
① 多主機頭的多個WEB站點如何實現一一對應的ftp更新功能
Windows 2000 Server安裝成功後,一般會啟動一個默認的Web站點,為整個網路提供Internet服務。在中小型區域網中,伺服器往往只有一台,但是一個Web站點顯然又無法滿足工作需要。那麼,能否在一台伺服器上設置多個Web站點(以下我們簡稱為「一機多站」)呢?答案是肯定的,並有多種途徑可以達到這一目的。我們知道,網路上的每一個Web站點都有一個惟一的身份標識,從而使客戶機能夠准確地訪問。這一搜褲標識由三部分組成,即TCP埠號、IP地址和主機頭名,要實現「一機多站」就需要在這三個方面下工夫。
現在我們有一台Windows 2000 Server伺服器,在這台伺服器上要建立默認站點「教師之家」和新增站點「學世弊簡生天地」(建立更多網站原理相同),下面我們分別探討三種不同的實現途徑。
途徑一 TCP埠法
我們知道Web站點的默認埠一般為80,如果改變這一埠,就能實現在同一伺服器上新增站點的目的。
假設伺服器名為Master,安裝有一塊網卡,IP地址為192.168.0.1,那麼安裝IIS後會自動生成一個默認Web站點,我們就將其作為「教師之家」網站。點擊「開始」→「程序」→「管理工具」→「Internet服務管理器」,出現「Internet信息服務」窗口(請見附圖)。右鍵單擊「默認Web站點」,選擇「屬性」進行設置。在「Web站點標識」中,將說明改為「教師之家」,IP地址選擇192.168.0.1,TCP埠保持默認的80不變。將製作好的網站文件拷貝到默認目錄中,「教師之家」的設置就算完成了。下面我們來增加「學生天地」站點。在「Internet信息服務」窗口中單擊選定主機名Master,然後選擇「操作」→「新建」→「Web站點」,出現「Web站點創建向導」窗口,依次點擊[下一步],將站點說卜棚明定為「學生天地」,IP地址選擇192.168.0.1,在TCP埠欄一定要將默認的80修改為其他值,如1050,選定主目錄,設置好訪問許可權,「學生天地」站點的設置也完成了。
測試一下效果,在瀏覽器地址欄中輸入http://192.168.0.1(默認的埠號80可以省略),回車,我們將訪問到「教師之家」站點。輸入http://192.168.0.1:1050(注意IP地址後的埠號一定不能少),則會出現「學生天地」站點。遺憾的是,採用這種方式設置的多站點無法與DNS結合使用。
途徑二 IP地址法
一般情況下,一塊網卡只設置了一個IP地址。如果我們為這塊網卡綁定多個IP地址,每個IP地址對應一個Web站點,那麼同樣可以實現「一機多站」的目的。
點擊「開始」→「設置」→「控制面板」,雙擊「網路和撥號連接」,右鍵單擊「本地連接」,選擇「屬性」調出「本地連接屬性」面板,選擇「Internet協議(TCP/IP)」,點擊「屬性」調出「Internet協議(TCP/IP)屬性」面板,點擊下方的「高級」調出「高級TCP/IP設置」面板。在IP地址欄下面列出了網卡已設定的IP地址和子網掩碼,點擊[添加]按鈕,在彈出的對話框中填上新的IP地址(如192.168.0.2,注意不能與其他機器的IP地址重復),子網掩碼與原有的相同(如255.255.255.0)。然後依次[確定],就完成了多個IP地址的綁定。
按照上例中的做法設置默認站點「教師之家」,然後我們來增加「學生天地」站點。在「Internet信息服務」窗口中單擊選定主機名Master,選擇「操作→「新建」→「Web站點」,出現「Web站點創建向導」窗口,依次點擊[下一步],將站點說明定為「學生天地」,IP地址選擇192.168.0.2(注意不能與默認站點的IP地址相同),TCP埠保持默認的80不變,選定主目錄,設置好訪問許可權,「學生天地」站點的設置完成。
分別在瀏覽器地址欄中輸入http://192.168.0.1和http://192.168.0.2,測試一下效果。如果您嫌通過輸入IP地址訪問站點不夠方便的話,完全可以通過設置DNS,用http://www.teacher.com代替http://192.168.0.1來訪問「教師之家」,用http://www.student.com代替http://192.168.0.2來訪問「學生天地」。
途徑三 主機頭法
在不更改TCP埠和IP地址的情況下,同樣可以實現「一機多站」,這里我們需要使用「主機頭名」來區分不同的站點。
所謂「主機頭名」,實際上就是指www.student.com之類的友好網址,因此要使用「主機頭法」實現「一機多站」,就必須先進行DNS設置。在DNS中設置http://www.teacher.com和http://www.student.com兩個網址,將它們都指向惟一的IP地址192.168.0.1。
按照以上兩例中的做法首先設置默認站點「教師之家」,由於是默認站點,因此基本無需進行特別設置。然後參考以上兩例進行添加「學生天地」站點的操作,IP地址選擇192.168.0.1,TCP埠保持默認的80不變,「此站點的主機頭」一項一定要填上www.student.com,然後選定主目錄,設置好訪問許可權,「學生天地」站點的設置完成。
分別在瀏覽器地址欄中輸入http://www.teacher.com和http://www.student.com兩個網址,測試效果。與上兩例不同的是,用「主機頭法」實現的「一機多站」必須使用友好網址才能訪問。以上三種方式,您可以根據具體情況選擇使用。如果伺服器安裝有兩塊以上的網卡,同樣可以採用「IP地址法」為每塊網卡指定不同的IP地址,從而實現「一機多站」。
② FTP自動備份腳本
換空間,數據的備份與恢復具體步驟操作!
一 備份數據
1,利用PW後台的數據備份功能進行備份.注意的是在備份數據的時候,為了數據的完整性,建議最好先關閉論壇,後台更新所有緩存和索引.
2,利用phpmyadmin,進行備份,具體如何備份,這里就不介紹.不清楚的可以查閱相關文檔,很簡單的.這里備份的文件是一個獨立sql文件.
以上方法一般適用與中小型論壇的備份,數據量比較小的時候還是很實用的,一般多為虛擬主機用戶使用.大型論壇的備份一般是 3,4兩種操作..主要是比較簡單操作,一些我個人認為比較復雜且不是很實用的方法就不介紹了不如通過Mysqlhot,使用binlog機制,增加mysql的事物日誌記錄等,這里就不介紹了.以下下操作一般有伺服器許可權的朋友才可以的.
3,直接復制或者打包資料庫文件,復制文件夾,大家應該都明白,我們來講打包,linux下用tar命令實現簡單有效,速度快.Win 下,直接用winrar或者winzip 搞定.注意需要暫停mysql服務.
4,Mysqlmp,是mysql自帶的腳本,假如資料庫名為abc,用戶名為:abcuser,密碼為123,,那應該使用
命令:
mysqlmp -uabcuser -p123 adc pwabc_bak.sql
,pwabc_bak.sql 你可以任意的命名.
二 數據還原
1,針對第一種備份方法,也是最普遍使用的.在恢復論壇數據的時候,要關閉php.ini文件中的safe mode,恢復完數據後,再打開SAFE MODE就可以了。(自己伺服器得才需要此設置,普通虛擬空間用戶不用此設置)
用FTP軟體下載老論壇所有文件
將所有文件上傳至新空間
打開網頁 你的論壇地址/admin.php 用你的論壇創始人帳號登陸
數據恢復(隨便點一個文件,程序會自動將剩餘文件導入的)
以上方法可保留所有數據及插件和模板。
對於不需要模板的或者不需要原來的插件的
老論壇備份數據,用FTP拉到本地。(具體在data目錄下)
上傳程序包里的文件到新空間,全新安裝
用FTP軟體將備份的數據上傳到新空間的data目錄下
用論壇創始人帳號進入後台,數據恢復
如果後台資料庫忘記了,可以直接修改sql_config.php里的資料庫帳號和創始人帳號密碼!這里輸入的創始人密碼不能直接是明文.需要是MD5加密過後的.
這里就給大家一個簡單的 MD5密文 [] 明文 [123456]之後就可以通過/admin.php 剛才修改的帳戶密碼登陸論壇了..
2,對於phpmysql備份的數據,在2M以下可以直接導入資料庫中(至於怎麼導,看相關文檔,很簡單.)數據量很大的情況只能到伺服器上,伺服器上 mysql 命令導入(具體導入將在"4"中介紹)虛擬主機用戶,那麼就得聯系你的空間商,讓他們協助完成數據的恢復.
3,對於打包資料庫文件的,可以直接解壓 把資料庫文件 放到你資料庫名的目錄下. 在linux下注意資料庫文件的許可權.一般都是mysql:mysql. Win 下關系不是很大,除非你做了特殊的許可權設置.
4,對於mysqlmp 導出數據, 按照備份數據中的舉例用戶來演示,
則命令為:
mysql -uabcuser -p123 abc abc_bak.sql
注意:
無任何錯誤一般來說就是正常完成。通常在使用 phpmyadmin 導入的sql腳本中有create database語句,會導致導入數據出錯,因為database 已經存在,把這段語句刪除之,再次檢查客戶的建表語句前是否有drop表的語句,如果沒有,而原資料庫存在同名表格,也會出錯,這時需要清空原資料庫.
③ ftp腳本出錯怎麼跳出
跳出方法是
1、清除一下IE瀏覽器的緩存,點IE上的工具——然後再選擇最下面的Internet選項,再點Internet刪除文件(記得勾上刪除所悶指梁有離線內容),確定後再重新打開IE瀏覽器試試,同時請確認您使用的是IE6.0及以上版本。
2、您的網頁上清緩存,在網頁上選擇工具->Interner選項->刪除Cookies和刪除文件,然後再確定。
3、請您點擊IE瀏覽器中的「工具」,選擇「internet選項」,進入「安全」頁面,點擊「自定義級別」,將您的安全設置設為「低」。
4、清空一下IE瀏覽器的cookies文螞運件,在IE瀏覽器中設置「禁止自動腳逗鉛本更新」,並不要選擇「禁止運行ActiveX控制項」,然後再嘗試操作。
④ 檢測到ftp伺服器上有更新,但是點擊更新提示FTP連接失敗,要怎麼弄啊!
1、網路不通導致FTP連接伺服器失敗
有時可能是由伺服器或者電腦本地網路有問題,導致FTP連接伺服器失敗。可以通過瀏覽器查看網頁測試是否是網路問題。
2、伺服器出現宕機、死機、重啟等情況
我們在租用伺服器時,都會對伺服器的訪問速度及穩定性進行考察。伺服器出現右機、死機、重啟等情況不僅會導致FIP連接伺服器失敗,也直接導致網站無法正常運營,從而影響網站優化排名及用戶體驗。如果出現此情況,盡快聯系伺服器提供商進行解決。
3、防火牆設置出現問題導致伺服器連接失敗查看我們的防火牆設置是否勾選了「PASV模式」,如果勾選,那麼將取消,然後嘗試重新連接。
4、FTP軟體出現問題導致連接伺服器失敗有時我們會忘記對軟體的及時更新,所以導致使用的FTP軟體版本過低或者被停用,再或者該軟體出現了問題。此時我們可以先刪除現有軟體,然後重新安裝。
5、短時間內連接伺服器次數過多
可能由於FTP連接伺服器的速度稍微有些慢,我們等待的比較著急,就不停地點擊連接按鈕,導致短時間內容連接次數過於頻繁而連接失敗。
6、伺服器被ISP屏蔽導致FTP連接伺服器失敗判斷伺服器是否被ISP屏蔽,可以通過使用代理伺服器進行連接測試。
7、租用的伺服器後台被關閉
如果以上幾種情況都被排除,那麼很有可能是我們所租用的伺服器後台被關閉了,此時需要連接伺服器提供商進行核查與修改。
FTP連接伺服器失敗的原因有很多,基本比較常見的情況就是以上幾種。為保障網站的正常運營,當出現FTP伺服器失敗的情況,應及時檢查其原因並解決。
⑤ 關於在ftp上下載最新更新文件的問題
Serv-U FTP Server V6.4.0.4 漢化版,傻瓜式的操作。給你個天空的下載地址。http://www.skycn.com/soft/5704.html
軟體介紹:
Serv-U 是一種被廣泛運用的FTP伺服器端軟體,支持 9x/ME/NT/2K 等全Windows系列。它設置簡單,功能強大,性能穩定。FTP 伺服器用戶通過它用 FTP協議能在 internet上共享文件。它並不是簡單地提供文件的下載,還為用戶的系統安全提供了相當全面的保護。例如:您可以為您的FTP 設置密碼、設置各種用戶級的訪問許可等等。Serv-U不僅100%遵從通用FTP標准,也包括眾多的獨特功能可為每個用戶提供文件共享完美解決方案。它可以設定多個FTP 伺服器、限定登錄用戶的許可權、登錄主目錄及空間大小等,功能非常完備。它具有非常完備的安全特性,支持SSl FTP傳輸,支持在多個Serv-U和FTP客戶端通過SSL加密連接保護您的數據安全等。
漢化說明:
1、請先安裝原英文軟體。
2、退出 FTP Serv-U 應用程序!包括系統欄圖標!
3、解壓縮後運行漢化包,填入你的安裝目錄進行漢化。
4、有些原英文版用戶漢化後可能會導致設置丟失,這可能是由於漢化的資源與英文版不同所致,只能請大家重新設置一下了。以前即用漢化版則無此問題。
⑥ shell腳本怎樣用ftp抓取新增文件。文件不定時更新,先增量判斷,再抓取
可以使用inotifywait。可以網路一下安裝方法
記得之前用過類似:inotifywait -me close_write aaa/ > bbb.txt(大致是這樣)
通過監控aaa目錄下文件關閉動作來判斷FTP傳送寫入文件結束,並將其文件名寫入bbb.txt
⑦ 求助:易語言如何通過ftp自動更新客戶端的可執行文件和文本文件,最好不用模塊
寫配置項 加入版本
然後枯培啟動窗口創建完畢 連接FTP伺服器 取FTP文件目錄 然悶敗裂後下載文件 最螞閉後打開文件進行比對
就這樣OK了
⑧ 如何設置FTP遠程文件同步的更新
用軟體實現比較容易吧?
我用的是Bestsync2011,就是覺得操作簡單,容易上手,速度又快,穩定,不佔用太多系統內存,又能不登陸作為windows服務同步,我用了很久了,還不錯了。
比如:
1. 你本地裝上軟體以後,在主菜單裡面 編輯-->追加任務
文件夾1選擇 驅動盤中要備份的文件夾位置
文件夾2選擇 選擇FTP(填寫FTP地址等相關參數)
同步方向為 文件夾2 --》文件夾1
在 FTP設定 下面填寫伺服器地址,賬戶名,密碼等信息)
然後選擇 完成 按鈕
2. 在主界面下,雙擊你剛建立的任務,會彈出屬性對話框
3. 選擇「日程」屬性頁,勾選最後一個復選框「按指定日程啟動任務」,然後在下面選擇你想同步的具體時間點就Ok了~~嘿嘿
⑨ FTP伺服器與客戶端資料 數據定期更新腳本怎樣寫
客戶端:
1 *.ftp 2 *.bat 3 WINDOWS計劃任務
第一步: 腳本語言寫在tongbu.ftp 中
open 192.168.0.99
administrator
d:
Cd jieshouwenjian
Bin
Prompt
Mget *.*
Bye
****** Mget 是下載 Mput 是上傳 ******
第二步:寫批處理文件 來執行你的腳本 tongbu.bat
ftp -s:d:\tongbu.ftp
第三步:打開WINDOWS計劃任務 設定定時執行
控制面板——計劃任務
伺服器端:
建立好 用戶名:administrator 密碼:無 的用戶
⑩ Bat腳本處理ftp超強案例分析
前言 公司有幾百台windows伺服器 每次程序更新 如果是一台台拷數據 只怕安排十個人 一天都不一定做得完 所以就必須研究個全自動更新方案來 於是就想到了FTP 做個主FTP站 在幾百台客戶機上啟動BAT腳本 每 秒檢測一次 如果主站有更新程序 就自動下載更新 幾分鍾內 上 台windows伺服器 都可以全自動更新程序完畢 相當實用 現把當初研究BAT的腳本思路貼出來 希望對大批量運維人員一個方向 當然 批量更新伺服器 每個公司有它自己的解決辦法 這個BAT的方式不是最優的 可以用shell 可以用perl 也可以用python等腳本解決 一 FTP命令說明 在windows系統中因為FTP是一個程序 如果在bat腳本中直接調用FTP的命令 在執行時總會彈出命令行窗口 循環在>FTP游標這 所以要換種方式 利用 S:filename 更多的命令請輸入 h查看 FTP登錄成功後 需要下載遠程單個文件時 使用get命令 如果下載多個文件時 用mget 它支持通配符 在使用mget時 需要對每一個文件都進行選擇Y/N 如果想不交互的下載全部的文件 可以輸入一次prompt命令關閉交互方式 Mput和mget命令要注意兩個問題 Ⅰ 不能對目標文件指定命字 在命令行上所有的文件都視做源文件 Ⅱ mput mget兩個命令不能對目錄進行上傳與下載 只能對文件 Ⅲ Prompt 每次執行一個這個命令 就在on off之間循環 ftp腳本開始時 prompt默認為on 所以一般在上傳 下載文件時 執行一次prompt 把互動式的on關掉 變為off 文件的傳輸方式 Binary 二進制傳輸 Ascii ascII傳輸 在FTP文件傳輸過程中 ASCII傳輸HTML和文本編寫的文件 而二進制碼傳輸可以傳送文本和非文本(執行文件 壓縮文件 圖片等) 具有通用性 二進制碼傳輸速度比ASCII傳輸要快 所以在建立bat腳本時 一般輸入bin命令 啟用二進制傳輸 如果用ASCII模式傳輸非文本文件 可能會顯示一堆亂碼 如果是上傳一些CGI腳本 有可能將無法運行這類腳本 而在瀏覽器上看到server error的錯誤 Ascii和binary模式的區別是回車換行的處理 binary模式不對數據進行任何處理 asci模式將回車換行轉換為本機的回車字元 比如Unix下是 Windows下是 Mac下是 unix系統下行結束符是一個位元組 即十六進制的 A 而ms的系統是兩個位元組 即十六進制的 D A 所以當你用ascii方式從unix的ftp server下載文件時(不管是二進制或者文本文件 redhat的 vsftp默認是binary ascii默認關閉) 每檢測到一個位元組是 A 就會自動插入一個 D 所以如果你的文件是二進制文件比如可執行文件 壓縮包什麼的 就肯定不能用了 如果你的文件就是unix下的文本文件 你用 ascii模式是正確的 要是誤用了binary模式 你在windows上看這個文件是沒有換行的 裡面是一個個的黑方塊 在用FTP客戶端傳輸文件時 因為這些軟體都做得比較智能化 它可以根據後綴 自動啟用傳輸模式 所以不用擔心出問題 二 實例求證 環境說明 上有一FTP伺服器端(windows版) FTP用戶名為lgh 密碼為 該用戶的根目錄為D lgh 裡面文件見下圖 sql rar是sql bat的壓縮文件 大家注意看圖 我等下會在後面的實例中引用這個文件 把mget get prompt bin ascii等ftp命令詮釋得一清二白實例一 直接BAT調用FTP命令 ftpbat bat內容 (***大家建立bat文件不要命名為ftp bat 執行時會有問題***)
復制代碼 代碼如下:
ftp open lgh get sql rar bye
從圖上的結果看 bat腳本直接調用xp的FTP命令是不行的 執行時H:>ftp會一直死循環 我這里的XP系統是SP 的 其它版本的 我沒有作測試 如果有不同 歡迎大家留言告之 實例二 用put get上傳 下載單個文件 把XP機器上H:js目錄下文件flower zip上傳到FTP伺服器 把FTP伺服器中的sql rar文件下載到XP機器上的H:JS目錄 ftp get put bat內容如下
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get sql rar >> %ftpfilename% echo put flower zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
我們來看看結果 見下面兩張圖 從XP系統上看 H盤的JS目錄 多了個sql rar FTP伺服器上的根目錄多了個flower zip 這說明 剛才的腳本完成正常的執行了 達到了預期的目的
實例三 用put get上傳 下載多個文件 在XP機器上把flower zip復制一次 改名為flower zip 在XP機器上把把第二次實例下載的sql rar文件刪除 以免影響到本次操作 在FTP伺服器上把第二次實例上傳的flower zip文件刪除 以免影響到本次操作 把XP機器上H:js目錄下文件flower zip 和flower zip上傳到FTP伺服器 ftp get put many bat內容如下
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
到FTP伺服器上查看根目錄 看flower zip與flower zip是否已成功上傳 從圖上看 只成功上傳了flower zip文件
剛那個ftp get put many bat腳本里echo put flower zip flower zip>> %ftpfilename% flower zip是傳輸的最後一個文件 是不是用put時 意味著bat在處理上傳時 只認最後一個文件呢 我們再多加個文件flower zip 來驗證
在XP機器上把flower zip復制一次 改名為flower zip在FTP伺服器上把第二次實例上傳的flower zip文件刪除 以免影響到本次操作
ftp get put many bat內容修改如下
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
結果 還是只成功上傳了flower zip 因bat雙擊時 執行過程會一閃而過 我們看不到執行過程 到命令行去執行下 看到底出了什麼問題
命令行 執行ftp get put many bat腳本 從執行情況看 flower zip三個文件都是put的 但在傳輸時 卻只傳了flower zip 真不解 有知道的朋友嗎?給點方向
再換個方式 用通配符* 試試 ftp get put many bat內容修改如下
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower* zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
在FTP伺服器上把上傳的flower文件全部刪除 以免影響到本次操作執行ftp get put many bat 結果只有flower zip文件上傳成功了 呵 flower zip文件 怎麼都不能上傳 ???
其實用put傳輸多個文件 完全可用重復的方式取代 比如 ftp get put many bat內容修改如下
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip >> %ftpfilename% echo put flower zip >> %ftpfilename% echo put flower zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
實例四 用mput mget上傳 下載多個文件 在FTP伺服器上刪除有關flower的文件ftp mget mput many bat內容如下:
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
雙擊ftp mget mput many bat後 發現系統彈出一窗口後 就卡住了 停止不前
原因是用了mput命令 但沒有用Prompt關閉交互
ftp mget mput many bat內容修改如下:
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo Prompt >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
再次執行ftp mget mput many bat 結果見下圖
用通配符*試試在FTP伺服器上刪除有關flower的文件ftp mget mput many bat內容修改如下:
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo Prompt >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower* zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
照樣成功上傳有關flower* zip文件 因為結果與上一步是一樣的 所以就不抓圖了 實例五 用ascii在windows系統間傳輸非文本文件 把XP電腦上的rmb jpg通過ascii傳到FTP伺服器的根目錄
ftp get ascii bat內容修改如下:
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo ascii >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put rmb jpg>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
執行ftp get ascii bat後 發現rmb jpg可以正常上傳 並且可以正常打開 那 這個現象與前面所以的ascii不能傳輸非文本東西有出入 這是怎麼回會事呢 這是因為 FTP伺服器是WINDOWS系統 XP電腦上的bat腳本也是在windows系統上運行的 所以bat在windows系統里用FTP傳輸文件 不管是用ascii 還是用binary 都是可以的 接下來我們再做一個實驗 FTP伺服器選centos 再測下ascii傳輸非文本文件問題 實例六 用ascii在windows系統與linux系統間傳輸非文本文件 在RHEL 位系統上建立一vsftpd伺服器 上面說過redhat默認啟用二進制傳輸 關閉了ascii碼傳輸 所以我們還要修改一下vsftpd的配置文件 修改/etc/vsftpd/nf文件 允許客戶端進行ascii傳輸 並重啟vsftpd
把rmb jpg放到FTP伺服器 大家注意下H:js目錄下只有ftp getascii bat文件
ftp getascii bat文件內容修改如下
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo ftp >> %ftpfilename% echo redhat >> %ftpfilename% echo asc >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get rmb jpg >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
執行ftp getascii bat 看結果 rmb jpg文件有下載到XP電腦里 雙擊這個文件 發現圖像亂碼 文件被破壞了 都是ascii碼傳輸惹的禍換bin傳輸 測試一下在XP電腦上刪除rmb jpg文件 再雙擊ftp getascii bat文件 去從LINUX的FTP伺服器下載一個rmb jpg文件
修改ftp getascii bat 把ascii改給二進制傳輸
復制代碼 代碼如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo ftp >> %ftpfilename% echo redhat >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get rmb jpg >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
結果 文件正常下載 圖像也顯示正常 lishixin/Article/program/qrs/201401/30223