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

您當(dāng)前所在位置: 首頁服務(wù)器FTP服務(wù)器 → 自動上傳Auto-FTP&Mirror的介紹與使用

自動上傳Auto-FTP&Mirror的介紹與使用

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

  用FTP傳檔案雖不難,但若老是得要您親自手動來傳,這不僅累人而已也更糟蹋了Linux這多人多工操作系統(tǒng)!
本文便是Auto-ftp和Mirror這二種檔案傳的輸應(yīng)用,希望藉由cron作業(yè)方式讓您的傳檔作業(yè)能達到自動化。
  各位親愛的讀者在使用Linux時,是否時常必須固定到某些FTP site傳回一些檔案,或是公司內(nèi)部分支機構(gòu)必須定時將某些file傳回總公司以便處理,這時如果您還固定用人工手動作ftp檔案傳輸?shù)脑挘屈N您就落伍了,平平白白浪費了Linux這多人多工的作業(yè)系統(tǒng)所賦予您的PC強大的功能了。

  本文要介紹的是除了mail-ftp之外的兩個應(yīng)用:Auto-ftp和Mirror這二種檔案傳輸應(yīng)用,并利用cron將之自動化的作業(yè)方式。希望經(jīng)由本文的介紹,能夠讓您的作業(yè)盡量自動化,減少人工的介入并盡量發(fā)揮Linux或unix的多工特性。

版本說明
  1.本文使用Slackware Linux 2.1.0作范例,若您使用的是SunOS,IBM AIX等vendors Unix 的話,Auto-ftp部份應(yīng)可正常工作(或只需作少許修改),Mirror部份則須先安裝Perl-4.036。
  2.Perl最新版本為Perl-5.00 Beta,Mirror使用時會有錯誤訊息,筆者認為應(yīng)該是前後版本相容性的問題。筆者強烈建議您使用Perl-4.036以維持正常。Perl-5.00和Perl-4.036均可自NCTUCCCA.NCTU.edu.tw FTP server下/UNIX/gnu目錄取得。

Auto-ftp傳輸檔案
  ftp是TCP/IP協(xié)定的叁大主要應(yīng)用—telnet、ftp、email之一,平時在unix和unix系統(tǒng)之間主要的檔案傳輸,就以ftp使用得最普遍與頻繁,譬如說,我要將Linux1.1.6x的patch file,自NCTUCCCA.NCTU.edu.tw傳回我的Linux主機的話,那麼我就可以用Anonymous ftp經(jīng)由下列作法來達成這個目的。(編按:請參考本刊光碟片AUTHORFTPFTP1.txt)
  基本的Anonymous ftp操作大抵不脫此操作過程。但若您是某大企業(yè)分支機構(gòu)的人員,每天得把日結(jié)資料傳回總公司去、或是您在Internet網(wǎng)路上,每周日凌晨3:00在Internet線路較空閑時去國外某大ftp site傳回一些定期更新的檔案的話,您該不會凌晨3:00爬起來傳檔案吧?
  這時用Auto-ftp加上cron的定時功能,必定能夠?qū)δ墓ぷ饔邢喈?dāng)?shù)膸椭?。ftp有個參數(shù)-n是可以作ftp auto-login的功能,可是我們一般在用ftp時卻甚少使用到,下例的shell script即以ftp auto-login來作說明。
  這時執(zhí)行g(shù)etpatch:
  getpatch即會將linux-1.1.59.tar.gz與patch6*自NCTUCCCA.NCTU.edu.tw這個ftp server的/Operating-Systems/Linux/kernel/v1.1目錄傳回您所在的Site Home directory下的patch目錄中。
  相同的,您若要將檔案送出,只要將source和target,me,mypass等變數(shù)作些符合您所在環(huán)境條件的修改,并將mget改成mput,即可將檔案送出。
  這時再將Auto-ftp和cron定時功能結(jié)合,即可作定時的Auto-ftp檔案傳輸。

#----------------------------------------------------------------
% cat ./cron_file
# Minutes Hour Day- Month Day- Command
# of- of-
# Month Week
# 0-59 0-23 1-31 1-12 0-6
#----------------------------------------------------------------
10 2 * * * /user1/roylin/getpatch
# 定義每天凌晨2:10執(zhí)行g(shù)etpatch
  用crontab指令啟動cron_file將cron啟動:
  % crontab cron_file
  再使用crontab -l指令來看crontab動作的內(nèi)容:
  % crontab -l  <-- list crontab的內(nèi)容
  這時您的Linux將會在您指定的時刻為您自動執(zhí)行您想作的Auto-ftp功能了。
  經(jīng)由上例的介紹,筆者希望能夠讓諸位讀者了解到:利用Auto-ftp和cron定時器的應(yīng)用來作自動化的檔案傳輸功能;同時也希望經(jīng)由此例淺顯介紹,讓讀者們能夠修改此一shell script和crontab以將您的應(yīng)用需求帶入自動化的境界。
  看完上面的Auto-ftp功能的介紹後,雖然利用Auto-ftp和cron能夠帶給我們自動傳輸?shù)暮锰帲?jīng)驗豐富的讀者可能看到了有些問題存在:
  1.必須先知道檔案存在的詳細目錄和名稱。
  2.重覆傳輸、占用網(wǎng)路頻寬、浪費資源。尤其是對國外傳輸時。
  3.若要傳輸含有很多層次目錄的檔案時,該怎麼辦?是否必須每一次目錄都知道,將之先在local site建好次目錄架構(gòu),再一層層去傳每一目錄中的檔案?
  4.被ftp傳回的檔案是Local所建檔的時間,無法忠實反應(yīng)ftp site的檔案更新時間。
  5.當(dāng)有更新檔案被傳回時,你必須親自去查閱,無法由Auto-ftp自動告知。(除非您再寫個script來作)
  親愛的讀者您若不幸剛好碰到這些問題的話,那麼下面所介紹的Mirror正是為您解決這些問題的拿手工具了。

什麼是Mirror
  Mirror是個由Perl(Practical Extraction and Report Language)所寫的一個Package,它是利用ftp將不同主機間的檔案及階層目錄作復(fù)制的功能。 它在ftp傳檔之前會比較檔案名稱的日期和size大小,以避免不必要的檔案傳輸所造成網(wǎng)路不必要的traffic。同時亦可設(shè)定在傳輸時作壓縮(compress or gzip)或切割(split)的動作。
  它最主要是作為ftp Archive維護傳輸使用,但任何人都可用它來使ftp傳輸大量的檔案。
  Mirror程式可在NCTUCCCA.NCTU.edu.tw的/packages/tools/mirror取得。Mirror是由英國Lee McLoughlin()先生所寫,在此感謝他提供我們這一好用的程式。我們就先到NCTUCCCA.NCTU.edu.tw抓取mirror.tar.gz。(編按:請見光碟片AUTHORFTPFTP2.txt)Mirror是一系列ftp相關(guān)程式的一部份,另二支分別是ftpmail和ftpcat,有機會的話,筆者將在以後的篇幅作介紹。以下則為Mirror的安裝注意事項:
  1.如果安裝Mirror是作Archive ftp維護使用,通常須先建一Mirror要執(zhí)行的目錄,再修改mirror.defaults以符合你所在主機的設(shè)定,通常不開放給一般使用者使用。
  2.如果要安裝Mirror作為一般使用命令:安裝Mirror到一般使用者能夠存取的lib目錄(通常是/usr/local/lib/mirror),并將mirror.pl作symbolic link到bin目錄,這通常是/usr/local/bin)。
  3.修改mirror.pl檔案中的$extra_path和$big_tmp這二個環(huán)境變數(shù),并且將mirror.pl作symbolic link到bin目錄(通常是/usr/local/bin)。
  4.修改mirror.pl檔案中的$extra_path和$big_tmp二個環(huán)境變數(shù)$extra_path - mirror使用PATH和$extra_path作為相關(guān)程式的搜尋路徑。$big_tmp則設(shè)定壓縮檔案時的暫存目錄

Mirror的安裝步驟與執(zhí)行
  Mirror內(nèi)定會使用/usr/local/lib/mirror/mirror.default這一設(shè)定檔。這一設(shè)定檔主要設(shè)定遠端主機(remote site)名稱或IP Address、資料存放目錄路徑、登錄名稱、登錄密碼,本地(local)主機名稱或IP Address、資料存放目錄路徑、資料的擁有者權(quán)限設(shè)定、是否將資料壓縮、使用何種壓縮程式、以及作完Mirror後將mail通知誰等等設(shè)定。
  以下的范例我將mirror.default修改,到NCTUCCCA.NCTU.edu.tw去抓取所有的Slackware Linux的程式和資料,遠端目錄在/Operating-Systems/Linux/Slackware,并取名為slackware.def。(編按見光碟片AUTHOR  FTPFTP3.txt)
  Mirror執(zhí)行時內(nèi)定會去使用/usr/local/lib/mirror/mirror.default這設(shè)定檔。我以mirror執(zhí)行剛剛定義的slackware.def抓取Slackware Linux來作范例。
  # mirror./slackware.def &
  執(zhí)行完mirror之後,NCTUCCCA.NCTU.edu.tw 的Slackware Linux已經(jīng)被mirror完完整整的依照我在slackware.def的設(shè)定「照」回我所在的主機上了。并會發(fā)出e-mail通知有那些檔案被mirror回來。詳細的mirror使用和說明,請參閱man mirror或groff-man mirror.man的說明。
Mirror的定時執(zhí)行
  將mirror和cron定時功能結(jié)合,即可作定時的mirror檔案傳輸。
% cat ./mirror_cron
# Minutes Hour Day- Month Day- Command
# of- of-
# Month Week
# 0-59 0-23 1-31 1-12 0-6
#------------------------------------------------------------
10 2 * * 0 /usr/local/mirror/user1/roylin/slackware.def
# 定義每周日凌晨 2:10 執(zhí)行 mirror"照回 "slackware
  使用crontab指令啟動mirror_cron將cron啟動:
  % crontab mirror_cron
  這時再使用crontab -l指令來看crontab動作的內(nèi)容:
  % crontab -l <-- list crontab的內(nèi)容
  這時您的Linux將會在您指定的時刻為您自動執(zhí)行mirror將Slackware Linux每周定時自動更新的功能了。同時能將所有檔案的日期真實呈現(xiàn),更可在檔案傳回時壓縮,節(jié)省資料的儲存空間,最重要的是:mirror不會浪費網(wǎng)路頻寬去傳輸相同的檔案,這對於和國外傳輸檔案尤甚。
  經(jīng)由以上的介紹,筆者希望能夠讓諸位讀者了解到:利用Auto-ftp、mirror和cron定時器的應(yīng)用來作自動化的檔案傳輸功能,同時也希望經(jīng)由此例淺顯的介紹,讀者們能夠修改此一shell script、slackware.def和
  crontab,以將您的應(yīng)用需求帶入自動化的境界。
  希望讀者們能由此文章獲得受益和收獲,也期盼諸位先進不吝來函指正。筆者十分樂於與各位讀者作雙向的溝通。小弟的E-Mail Address是:。我們下回再見。

關(guān)鍵詞標簽:

相關(guān)閱讀

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

熱門文章 Linux下FTP的配置與應(yīng)用 Linux下FTP的配置與應(yīng)用 什么是ftp及ftp服務(wù)器 什么是ftp及ftp服務(wù)器 FTP出錯解決和分析 FTP出錯解決和分析 Windows內(nèi)置FTP服務(wù)器高級配置 Windows內(nèi)置FTP服務(wù)器高級配置

相關(guān)下載

    人氣排行 vsftp配置大全---超完整版 IIS6.0打造FTP服務(wù)器完全圖文詳解 使用Win 2003搭建安全文件服務(wù)器 圖解Windows xp—FTP服務(wù)器配置 linux服務(wù)samba的詳細配置 在Windows 2003下搭建FTP服務(wù)器 FTP登陸錯誤詳解 Windows內(nèi)置FTP服務(wù)器高級配置