分享
 
 
 

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

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

用FTP传档案虽不难,但若老是得要您亲自手动来传,这不仅累人而已也更糟蹋了Linux这多人多工操作系统!

本文便是Auto-ftp和Mirror这二种档案传的输应用,希望藉由cron作业方式让您的传档作业能达到自动化。

各位亲爱的读者在使用Linux时,是否时常必须固定到某些FTPsite传回一些档案,或是公司内部分支机构必须定时将某些file传回总公司以便处理,这时如果您还固定用人工手动作ftp档案传输的话,那麽您就落伍了,平平白白浪费了Linux这多人多工的作业系统所赋予您的PC强大的功能了。

本文要介绍的是除了mail-ftp之外的两个应用:Auto-ftp和Mirror这二种档案传输应用,并利用cron将之自动化的作业方式。希望经由本文的介绍,能够让您的作业尽量自动化,减少人工的介入并尽量发挥Linux或unix的多工特性。

版本说明

1.本文使用SlackwareLinux2.1.0作范例,若您使用的是SunOS,IBM AIX等vendorsUnix 的话,Auto-ftp部份应可正常工作(或只需作少许修改),Mirror部份则须先安装Perl-4.036。

2.Perl最新版本为Perl-5.00Beta,Mirror使用时会有错误讯息,笔者认为应该是前後版本相容性的问题。笔者强烈建议您使用Perl-4.036以维持正常。Perl-5.00和Perl-4.036均可自NCTUCCCA.NCTU.edu.twFTPserver下/UNIX/gnu目录取得。

Auto-ftp传输档案

ftp是TCP/IP协定的叁大主要应用—telnet、ftp、email之一,平时在unix和unix系统之间主要的档案传输,就以ftp使用得最普遍与频繁,譬如说,我要将Linux1.1.6x的patchfile,自NCTUCCCA.NCTU.edu.tw传回我的Linux主机的话,那麽我就可以用Anonymousftp经由下列作法来达成这个目的。(编按:请参考本刊光碟片AUTHORFTPFTP1.txt)

基本的Anonymousftp操作大抵不脱此操作过程。但若您是某大企业分支机构的人员,每天得把日结资料传回总公司去、或是您在Internet网路上,每周日凌晨3:00在Internet线路较空闲时去国外某大ftpsite传回一些定期更新的档案的话,您该不会凌晨3:00爬起来传档案吧?

这时用Auto-ftp加上cron的定时功能,必定能够对您的工作有相当的帮助。ftp有个参数-n是可以作ftpauto-login的功能,可是我们一般在用ftp时却甚少使用到,下例的shellscript即以ftpauto-login来作说明。

这时执行getpatch:

getpatch即会将linux-1.1.59.tar.gz与patch6*自NCTUCCCA.NCTU.edu.tw这个ftp server的/Operating-Systems/Linux/kernel/v1.1目录传回您所在的SiteHomedirectory下的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启动:

%crontabcron_file

再使用crontab-l指令来看crontab动作的内容:

%crontab-l<--listcrontab的内容

这时您的Linux将会在您指定的时刻为您自动执行您想作的Auto-ftp功能了。

经由上例的介绍,笔者希望能够让诸位读者了解到:利用Auto-ftp和cron定时器的应用来作自动化的档案传输功能;同时也希望经由此例浅显介绍,让读者们能够修改此一shellscript和crontab以将您的应用需求带入自动化的境界。

看完上面的Auto-ftp功能的介绍後,虽然利用Auto-ftp和cron能够带给我们自动传输的好处,但经验丰富的读者可能看到了有些问题存在:

1.必须先知道档案存在的详细目录和名称。

2.重覆传输、占用网路频宽、浪费资源。尤其是对国外传输时。

3.若要传输含有很多层次目录的档案时,该怎麽办?是否必须每一次目录都知道,将之先在localsite建好次目录架构,再一层层去传每一目录中的档案?

4.被ftp传回的档案是Local所建档的时间,无法忠实反应ftpsite的档案更新时间。

5.当有更新档案被传回时,你必须亲自去查阅,无法由Auto-ftp自动告知。(除非您再写个script来作)

亲爱的读者您若不幸刚好碰到这些问题的话,那麽下面所介绍的Mirror正是为您解决这些问题的拿手工具了。

什麽是Mirror

Mirror是个由Perl(PracticalExtractionandReportLanguage)所写的一个Package,它是利用ftp将不同主机间的档案及阶层目录作复制的功能。 它在ftp传档之前会比较档案名称的日期和size大小,以避免不必要的档案传输所造成网路不必要的traffic。同时亦可设定在传输时作压缩(compressorgzip)或切割(split)的动作。

它最主要是作为ftpArchive维护传输使用,但任何人都可用它来使ftp传输大量的档案。

Mirror程式可在NCTUCCCA.NCTU.edu.tw的/packages/tools/mirror取得。Mirror是由英国LeeMcLoughlin(lmjm@doc.ic.ac.uk)先生所写,在此感谢他提供我们这一好用的程式。我们就先到NCTUCCCA.NCTU.edu.tw抓取mirror.tar.gz。(编按:请见光碟片AUTHORFTPFTP2.txt)Mirror是一系列ftp相关程式的一部份,另二支分别是ftpmail和ftpcat,有机会的话,笔者将在以後的篇幅作介绍。以下则为Mirror的安装注意事项:

1.如果安装Mirror是作Archiveftp维护使用,通常须先建一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作symboliclink到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这一设定档。这一设定档主要设定远端主机(remotesite)名称或IPAddress、资料存放目录路径、登录名称、登录密码,本地(local)主机名称或IPAddress、资料存放目录路径、资料的拥有者权限设定、是否将资料压缩、使用何种压缩程式、以及作完Mirror後将mail通知谁等等设定。

以下的范例我将mirror.default修改,到NCTUCCCA.NCTU.edu.tw去抓取所有的SlackwareLinux的程式和资料,远端目录在/Operating-Systems/Linux/Slackware,并取名为slackware.def。(编按见光碟片AUTHORFTPFTP3.txt)

Mirror执行时内定会去使用/usr/local/lib/mirror/mirror.default这设定档。我以mirror执行刚刚定义的slackware.def抓取SlackwareLinux来作范例。

#mirror./slackware.def&

执行完mirror之後,NCTUCCCA.NCTU.edu.tw 的SlackwareLinux已经被mirror完完整整的依照我在slackware.def的设定「照」回我所在的主机上了。并会发出e-mail通知有那些档案被mirror回来。详细的mirror使用和说明,请参阅manmirror或groff-manmirror.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启动:

%crontabmirror_cron

这时再使用crontab-l指令来看crontab动作的内容:

%crontab-l<--listcrontab的内容

这时您的Linux将会在您指定的时刻为您自动执行mirror将Slackware Linux每周定时自动更新的功能了。同时能将所有档案的日期真实呈现,更可在档案传回时压缩,节省资料的储存空间,最重要的是:mirror不会浪费网路频宽去传输相同的档案,这对於和国外传输档案尤甚。

经由以上的介绍,笔者希望能够让诸位读者了解到:利用Auto-ftp、mirror和cron定时器的应用来作自动化的档案传输功能,同时也希望经由此例浅显的介绍,读者们能够修改此一shellscript、slackware.def和

crontab,以将您的应用需求带入自动化的境界。

希望读者们能由此文章获得受益和收获,也期盼诸位先进不吝来函指正。笔者十分乐於与各位读者作双向的沟通。小弟的E-MailAddress是:roylin@stratus.atm.ncu.edu.tw。我们下回再见。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有