歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> 自動傳檔Auto-FTP&Mirror的介紹與使用

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

日期:2017/2/27 12:18:58   编辑:Linux文化

使用FTP傳檔案雖不難,但若老是得要您親自手動來傳,這不僅累人而已也更糟蹋了Linux這多人多工作業系統!
本文便是Auto-ftp和Mirror這二種檔案傳的輸應用,希望藉由cron作業方式讓您的傳檔作業能達到自動化。

  各位親愛的讀者在使用Linux時,是否時常必須固定到某些FTP site傳回一些檔案,或是公司內部分支機構必須定時將某些file傳回總公司以便處理,這時如果您還固定用人工手動作ftp檔案傳輸的話,那麽您就落伍了,平平白白浪費了Linux這多人多工的作業系統所賦予您的PC強大的功能了。


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


版本說明
  1.本文使用Slackware Linux 2.1.0作范例,若您使用的是SunOS,IBM AIX等vendor's Unix 的話,Auto-ftp部份應可正常工作(或只需作少許修改),Mirror部份則須先安裝Perl-4.036。

  2.Perl最新版本為Perl-5.00 Beta,Mirror使用時會有錯誤訊息,筆者認為應該是前後版本相容性的問題。筆者強烈建議您使用Perl-4.036以維持正常。Perl-5.00和Perl-4.036均可自NCTUCCCA.NCTU.edu.tw FTP server下的/UNIX/gnu目錄取得。


Auto-ftp傳輸檔案
  ftp是TCP/IP協定的三大主要應用—telnet、ftp、email之一,平時在unix和unix系統之間主要的檔案傳輸,就以ftp使用得最普遍與頻繁,譬如說,我要將Linux 1.1.6x的patch file,自NCTUCCCA.NCTU.edu.tw傳回我的Linux主機的話,那麽我就可以用Anonymous ftp經由下列作法來達成這個目的。(編按:請參考本刊光碟片\AUTHOR\FTP\FTP1.txt)

  基本的Anonymous ftp操作大抵不脫此操作過程。但若您是某大企業分支機構的人員,每天得把日結資料傳回總公司去、或是您在Internet網路上,每周日凌晨3:00在Internet線路較空閒時去國外某大ftp site傳回一些定期更新的檔案的話,您該不會凌晨3:00爬起來傳檔案吧?

  這時用Auto-ftp加上cron的定時功能,必定能夠對您的工作有相當的幫助。ftp有個參數-n是可以作ftp auto-login的功能,可是我們一般在用ftp時卻甚少使用到,下例的shell script即以ftp auto-login來作說明。

  這時執行getpatch:

  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等變數作些符合您所在環境條件的修改,並將mget改成mput,即可將檔案送出。

  這時再將Auto-ftp和cron定時功能結合,即可作定時的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執行getpatch

  用crontab指令啟動cron_file將cron啟動:

  % crontab cron_file

  再使用crontab -l指令來看crontab動作的內容:

  % crontab -l  

Copyright © Linux教程網 All Rights Reserved