時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
使用以下腳本,可以實(shí)現(xiàn)自動(dòng)FTP,將你需要的文件傳送到需要的地方,或者將需要的文件從某個(gè)地方抓取下來(lái)。
cd /PATH_YOU_WANT_TO_UPLOAD(DOWNLOAD)
ftp -n open IP_ADDRESS
user USERNAME PASSWORD
ascii(or bin)
put *(or get)
bye
EOF
下面詳細(xì)講解以下這段代碼:
1. cd /PATH_YOU_WANT_TO_UPLOAD(DOWNLOAD)
首先將進(jìn)入你要上傳得文件所存在的目錄,或者是想將某個(gè)FTP上的文件下載到的目錄。這樣就免去了在真正進(jìn)入FTP站點(diǎn)以后,還需要修改本地路徑的麻煩。
2. ftp -n
由于是腳本,因此我們要給此FTP腳本定義一個(gè)結(jié)束的符號(hào),在這里,定義的結(jié)束符是"EOF"。你也可以自己來(lái)定義其他的。不過(guò)建議用"EOF",這在絕大多數(shù)編程語(yǔ)言中,都表示結(jié)束:End Of File。
3. open IP_ADDRESS
表示連接FTP站點(diǎn),這里的IP_ADDRESS就是FTP站點(diǎn)的IP地址。
4. user USERNAME PASSWORD
這是你進(jìn)入該FTP站點(diǎn)的用戶名和密碼。以上兩個(gè)結(jié)合起來(lái),就相當(dāng)于我們通過(guò)瀏覽器進(jìn)入FTP站點(diǎn)時(shí)候,經(jīng)常使用的辦法。
ftp://username:password@ip_address
5. ascii(or bin)
我們都知道FTP傳送有兩種方式:ascii和binary。這里就是指定你要傳送的方式。這很重要,因?yàn)檫@將決定你傳送或者獲取的文件是否正??捎?。
6. put *(or get)
put *表示將第一條cd進(jìn)入的路徑下所有的文件都傳送到剛剛連接進(jìn)入的FTP站點(diǎn)。當(dāng)然,你也可以指定某一個(gè)或者幾個(gè)文件,而不一定是所有的。而get則表明是將剛剛進(jìn)入的FTP站點(diǎn)那個(gè)FTP跟目錄下的文件獲取到本地——第一條cd命令進(jìn)入的那個(gè)路徑下。當(dāng)然,如果你所需要的文件不在FTP的根目錄下,在使用這個(gè)命令之前,你還要使用cd命令來(lái)修改一下FTP站點(diǎn)的當(dāng)前路徑。
7. bye
完成應(yīng)該完成的工作以后,當(dāng)然就是斷開(kāi)和FTP站點(diǎn)的連接了。
8. EOF
這個(gè)符號(hào)之前已經(jīng)講過(guò)。當(dāng)腳本遇到這個(gè)符號(hào)的時(shí)候,它就知道應(yīng)該結(jié)束了。
有個(gè)偷懶的辦法是,可以將以上的腳本寫(xiě)成一個(gè)函數(shù),然后再需要的時(shí)候調(diào)用這個(gè)函數(shù)即可。
autoftp()
{
cd
ftp -n open IP_ADDRESS
user USERNAME PASSWORD
ascii (or bin:binary)
put (or get)
bye
EOF
}
另外,還有一個(gè)需要注意的地方,就是在該段程序的后面,你需要去判斷自動(dòng)FTP是否成功了——就是你傳送或者獲取是否成功了。這里的判斷也有兩個(gè)思路:
1. 如果是獲取,則在本地判斷是否已經(jīng)成功獲取。如果是傳送,則需要再次調(diào)用自動(dòng)FTP腳本,在FTP服務(wù)器正確的目錄去判斷是否傳送成功。不過(guò)這樣的辦法顯然是"笨重"的;
2. 通過(guò)shell常用的方式:$?來(lái)判斷是否成功,如果返回值是0則表示成功,而返回值非0則表示沒(méi)有成功——但是,我所說(shuō)的需要注意的地方,正是這里需要注意的。其實(shí)以上代碼,不管是否自動(dòng)FTP是否成功,返回值其實(shí)都是0。這會(huì)讓很多人困擾,為什么呢?不要忘記了,其實(shí)你最后的代碼腳本是EOF,所以,不管你前面自動(dòng)FTP傳送還是獲取都是失敗的,其實(shí)這個(gè)正常結(jié)束的符號(hào)讓這個(gè)腳本"正常結(jié)束"了,因此,$?的返回值就是0了。
關(guān)鍵詞標(biāo)簽:FTP
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤(pán)序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤(pán)IO讀寫(xiě)負(fù)載