IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 服务器 > FTP服务器 > 自动上传Auto-FTP&Mirror的介绍与使用

自动上传Auto-FTP&Mirror的介绍与使用

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

  用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等vendors 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使用得最普遍与频繁,譬如说,我要将Linux1.1.6x的patch file,自NCTUCCCA.NCTU.edu.tw传回我的Linux主机的话,那麽我就可以用Anonymous ftp经由下列作法来达成这个目的。(编按:请参考本刊光碟片AUTHORFTPFTP1.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  <-- list crontab的内容
  这时您的Linux将会在您指定的时刻为您自动执行您想作的Auto-ftp功能了。
  经由上例的介绍,笔者希望能够让诸位读者了解到:利用Auto-ftp和cron定时器的应用来作自动化的档案传输功能;同时也希望经由此例浅显介绍,让读者们能够修改此一shell script和crontab以将您的应用需求带入自动化的境界。
  看完上面的Auto-ftp功能的介绍後,虽然利用Auto-ftp和cron能够带给我们自动传输的好处,但经验丰富的读者可能看到了有些问题存在:
  1.必须先知道档案存在的详细目录和名称。
  2.重覆传输、占用网路频宽、浪费资源。尤其是对国外传输时。
  3.若要传输含有很多层次目录的档案时,该怎麽办?是否必须每一次目录都知道,将之先在local site建好次目录架构,再一层层去传每一目录中的档案?
  4.被ftp传回的档案是Local所建档的时间,无法忠实反应ftp site的档案更新时间。
  5.当有更新档案被传回时,你必须亲自去查阅,无法由Auto-ftp自动告知。(除非您再写个script来作)
  亲爱的读者您若不幸刚好碰到这些问题的话,那麽下面所介绍的Mirror正是为您解决这些问题的拿手工具了。

什麽是Mirror
  Mirror是个由Perl(Practical Extraction and Report Language)所写的一个Package,它是利用ftp将不同主机间的档案及阶层目录作复制的功能。 它在ftp传档之前会比较档案名称的日期和size大小,以避免不必要的档案传输所造成网路不必要的traffic。同时亦可设定在传输时作压缩(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相关程式的一部份,另二支分别是ftpmail和ftpcat,有机会的话,笔者将在以後的篇幅作介绍。以下则为Mirror的安装注意事项:
  1.如果安装Mirror是作Archive ftp维护使用,通常须先建一Mirror要执行的目录,再修改mirror.defaults以符合你所在主机的设定,通常不开放给一般使用者使用。
  2.如果要安装Mirror作为一般使用命令:安装Mirror到一般使用者能够存取的lib目录(通常是/usr/local/lib/mirror),并将mirror.pl作symbolic link到bin目录,这通常是/usr/local/bin)。
  3.修改mirror.pl档案中的$extra_path和$big_tmp这二个环境变数,并且将mirror.pl作symbolic link到bin目录(通常是/usr/local/bin)。
  4.修改mirror.pl档案中的$extra_path和$big_tmp二个环境变数$extra_path - mirror使用PATH和$extra_path作为相关程式的搜寻路径。$big_tmp则设定压缩档案时的暂存目录

Mirror的安装步骤与执行
  Mirror内定会使用/usr/local/lib/mirror/mirror.default这一设定档。这一设定档主要设定远端主机(remote site)名称或IP Address、资料存放目录路径、登录名称、登录密码,本地(local)主机名称或IP Address、资料存放目录路径、资料的拥有者权限设定、是否将资料压缩、使用何种压缩程式、以及作完Mirror後将mail通知谁等等设定。
  以下的范例我将mirror.default修改,到NCTUCCCA.NCTU.edu.tw去抓取所有的Slackware Linux的程式和资料,远端目录在/Operating-Systems/Linux/Slackware,并取名为slackware.def。(编按见光碟片AUTHOR  FTPFTP3.txt)
  Mirror执行时内定会去使用/usr/local/lib/mirror/mirror.default这设定档。我以mirror执行刚刚定义的slackware.def抓取Slackware Linux来作范例。
  # mirror./slackware.def &
  执行完mirror之後,NCTUCCCA.NCTU.edu.tw 的Slackware Linux已经被mirror完完整整的依照我在slackware.def的设定「照」回我所在的主机上了。并会发出e-mail通知有那些档案被mirror回来。详细的mirror使用和说明,请参阅man mirror或groff-man mirror.man的说明。
Mirror的定时执行
  将mirror和cron定时功能结合,即可作定时的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 执行 mirror&照回 &slackware
  使用crontab指令启动mirror_cron将cron启动:
  % crontab mirror_cron
  这时再使用crontab -l指令来看crontab动作的内容:
  % crontab -l <-- list crontab的内容
  这时您的Linux将会在您指定的时刻为您自动执行mirror将Slackware Linux每周定时自动更新的功能了。同时能将所有档案的日期真实呈现,更可在档案传回时压缩,节省资料的储存空间,最重要的是:mirror不会浪费网路频宽去传输相同的档案,这对於和国外传输档案尤甚。
  经由以上的介绍,笔者希望能够让诸位读者了解到:利用Auto-ftp、mirror和cron定时器的应用来作自动化的档案传输功能,同时也希望经由此例浅显的介绍,读者们能够修改此一shell script、slackware.def和
  crontab,以将您的应用需求带入自动化的境界。
  希望读者们能由此文章获得受益和收获,也期盼诸位先进不吝来函指正。笔者十分乐於与各位读者作双向的沟通。小弟的E-Mail Address是:。我们下回再见。

关键词标签:

相关阅读 Linux下FTP的配置与应用 什么是ftp及ftp服务器 FTP出错解决和分析 proftp 安装设定文档 使用Win 2003搭建安全文件服务器 让Proftpd 的数据库模块支持MD5验证

文章评论
发表评论

热门文章 使用Win 2003搭建安全文件服务器 使用Win 2003搭建安全文件服务器 linux服务samba的详细配置 linux服务samba的详细配置 图解Windows xp—FTP服务器配置 图解Windows xp—FTP服务器配置 Linux文件传送命令SCP(Secure Copy) Linux文件传送命令SCP(Secure Copy) 在Windows 2003下搭建FTP服务器 在Windows 2003下搭建FTP服务器 IIS6.0打造FTP服务器完全图文详解 IIS6.0打造FTP服务器完全图文详解

相关下载

人气排行 vsftp配置大全---超完整版 IIS6.0打造FTP服务器完全图文详解 使用Win 2003搭建安全文件服务器 图解Windows xp—FTP服务器配置 linux服务samba的详细配置 在Windows 2003下搭建FTP服务器 FTP登陆错误详解 Windows内置FTP服务器高级配置 Windows XP系统下架设FTP服务器的步骤 不用工具也可以修改Serv-u默认43958端口 使用CesarFTP架设FTP服务器 FTP空间不足 Windows 系统性能监控来报警