IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁操作系統(tǒng)LINUX → 自動FTP的小腳本

自動FTP的小腳本

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  使用以下腳本,可以實現(xiàn)自動FTP,將你需要的文件傳送到需要的地方,或者將需要的文件從某個地方抓取下來。

  cd /PATH_YOU_WANT_TO_UPLOAD(DOWNLOAD)

  ftp -n open IP_ADDRESS

  user USERNAME PASSword

  ascii(or bin)

  put *(or get)

  bye

  EOF

  下面詳細講解以下這段代碼:

  1. cd /PATH_YOU_WANT_TO_UPLOAD(DOWNLOAD)

  首先將進入你要上傳得文件所存在的目錄,或者是想將某個FTP上的文件下載到的目錄。這樣就免去了在真正進入FTP站點以后,還需要修改本地路徑的麻煩。

  2. ftp -n

  由于是腳本,因此我們要給此FTP腳本定義一個結(jié)束的符號,在這里,定義的結(jié)束符是"EOF"。你也可以自己來定義其他的。不過建議用"EOF",這在絕大多數(shù)編程語言中,都表示結(jié)束:End Of File。

  3. open IP_ADDRESS

  表示連接FTP站點,這里的IP_ADDRESS就是FTP站點的IP地址。

  4. user USERNAME PASSWORD

  這是你進入該FTP站點的用戶名和密碼。以上兩個結(jié)合起來,就相當(dāng)于我們通過瀏覽器進入FTP站點時候,經(jīng)常使用的辦法。

  ftp://username:password@ip_address

  5. ascii(or bin)

  我們都知道FTP傳送有兩種方式:ascii和binary。這里就是指定你要傳送的方式。這很重要,因為這將決定你傳送或者獲取的文件是否正?捎。

  6. put *(or get)

  put *表示將第一條cd進入的路徑下所有的文件都傳送到剛剛連接進入的FTP站點。當(dāng)然,你也可以指定某一個或者幾個文件,而不一定是所有的。而get則表明是將剛剛進入的FTP站點那個FTP跟目錄下的文件獲取到本地——第一條cd命令進入的那個路徑下。當(dāng)然,如果你所需要的文件不在FTP的根目錄下,在使用這個命令之前,你還要使用cd命令來修改一下FTP站點的當(dāng)前路徑。

  7. bye

  完成應(yīng)該完成的工作以后,當(dāng)然就是斷開和FTP站點的連接了。

  8. EOF

  這個符號之前已經(jīng)講過。當(dāng)腳本遇到這個符號的時候,它就知道應(yīng)該結(jié)束了。

  有個偷懶的辦法是,可以將以上的腳本寫成一個函數(shù),然后再需要的時候調(diào)用這個函數(shù)即可。

  autoftp()

  {

  cd

  ftp -n open IP_ADDRESS

  user USERNAME PASSWORD

  ascii (or bin:binary)

  put (or get)

  bye

  EOF

  }

  另外,還有一個需要注意的地方,就是在該段程序的后面,你需要去判斷自動FTP是否成功了——就是你傳送或者獲取是否成功了。這里的判斷也有兩個思路:

  1. 如果是獲取,則在本地判斷是否已經(jīng)成功獲取。如果是傳送,則需要再次調(diào)用自動FTP腳本,在FTP服務(wù)器正確的目錄去判斷是否傳送成功。不過這樣的辦法顯然是"笨重"的;

  2. 通過shell常用的方式:$?來判斷是否成功,如果返回值是0則表示成功,而返回值非0則表示沒有成功——但是,我所說的需要注意的地方,正是這里需要注意的。其實以上代碼,不管是否自動FTP是否成功,返回值其實都是0。這會讓很多人困擾,為什么呢?不要忘記了,其實你最后的代碼腳本是EOF,所以,不管你前面自動FTP傳送還是獲取都是失敗的,其實這個正常結(jié)束的符號讓這個腳本"正常結(jié)束"了,因此,$?的返回值就是0了。

關(guān)鍵詞標(biāo)簽:FTP

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程使用screen管理你的遠程會話使用screen管理你的遠程會話GNU/Linux安裝vmwareGNU/Linux安裝vmware如何登錄linux vps圖形界面 Linux遠程桌面連如何登錄linux vps圖形界面 Linux遠程桌面連

相關(guān)下載

人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址linux tc實現(xiàn)ip流量限制dmidecode命令查看內(nèi)存型號linux下解壓rar文件安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程Ubuntu linux 關(guān)機、重啟、注銷 命令lcx.exe、nc.exe、sc.exe入侵中的使用方法查看linux服務(wù)器硬盤IO讀寫負(fù)載