自动FTP的小脚本 - 范文中心

自动FTP的小脚本

08/11

自动FTP的小脚本

作者:xiaophedap.cublog.cn  出处:xiaophedap.cublog.cn  更新时间: 2007年05月12日

使用以下脚本,可以实现自动FTP,将你需要的文件传送到需要的地方,或者将需要的文件从某个地方抓取下来。

cd /PATH_YOU_WANT_TO_UPLOAD(DOWNLOAD)

ftp -n

open IP_ADDRESS

user USERNAME PASSWORD

ascii(or bin)

put *(or get)

bye

EOF

下面详细讲解以下这段代码:

1. cd /PATH_YOU_WANT_TO_UPLOAD(DOWNLOAD)

首先将进入你要上传得文件所存在的目录,或者是想将某个FTP上的文件下载到的目录。这样就免去了在真正进入FTP站点以后,还需要修改本地路径的麻烦。

2. ftp -n

由于是脚本,因此我们要给此FTP脚本定义一个结束的符号,在这里,定义的结束符是“EOF”。你也可以自己来定义其他的。不过建议用“EOF”,这在绝大多数编程语言中,都表示结束:End Of File。

3. open IP_ADDRESS

表示连接FTP站点,这里的IP_ADDRESS就是FTP站点的IP地址。

4. user USERNAME PASSWORD

这是你进入该FTP站点的用户名和密码。以上两个结合起来,就相当于我们通过浏览器进入FTP站点时候,经常使用的ftp://username:password@ip_address的办法。

5. ascii(or bin)

我们都知道FTP传送有两种方式:ascii和binary。这里就是指定你要传送的方式。这很重要,因为这将决定你传送或者获取的文件是否正常可用。

6. put *(or get)

put *表示将第一条cd进入的路径下所有的文件都传送到刚刚连接进入的FTP站点。当然,你也可以指定某一个或者几个文件,而不一定是所有的。而get则表明是将刚刚进入的FTP站点那个FTP跟目录下的文件获取到本地——第一条cd命令进入的那个路径下。当然,如果你所需要的文件不在FTP的根目录下,在使用这个命令之前,你还要使用cd命令来修改一下FTP站点的当前路径。

7. bye

完成应该完成的工作以后,当然就是断开和FTP站点的连接了。

8. EOF

这个符号之前已经讲过。当脚本遇到这个符号的时候,它就知道应该结束了。

有个偷懒的办法是,可以将以上的脚本写成一个函数,然后再需要的时候调用这个函数即可。

autoftp()

{

cd

ftp -n

open IP_ADDRESS

user USERNAME PASSWORD

ascii (or bin:binary)

put (or get)

bye

EOF

}

另外,还有一个需要注意的地方,就是在该段程序的后面,你需要去判断自动FTP是否成功了——就是你传送或者获取是否成功了。这里的判断也有两个思路:

1. 如果是获取,则在本地判断是否已经成功获取。如果是传送,则需要再次调用自动FTP脚本,在FTP服务器正确的目录去判断是否传送成功。不过这样的办法显然是“笨重”的;

2. 通过shell常用的方式:$?来判断是否成功,如果返回值是0则表示成功,而返回值非0则表示没有成功——但是,我所说的需要注意的地方,正是这里需要注意的。其实以上代码,不管是否自动FTP是否成功,返回值其实都是0。这会让很多人困扰,为什么呢?不要忘记了,其实你最后的代码脚本是EOF,所以,不管你前面自动FTP传送还是获取都是失败的,其实这个正常结束的符号让这个脚本“正常结束”了,因此,$?的返回值就是0了。

那么,这第二种简单的办法如何来判断呢?——我也正在思考中。如果你想到了好的解决办法,请给我来信,我的个人邮箱是:crystal.chen.cc@gmail.com


相关内容

  • 会计从业资格考试培训系统使用手册
    会计从业资格考试培训系统用户手册 安徽省会计从业资格无纸化考试 培训系统 用户手册 南京易考无忧科技有限公司 目 录 第一章 培训系统的环境与安装 ---------------------------------------------- ...
  • 电脑查询系统的各种命令
    分享到i 贴吧 添加到搜藏 已解决 电脑查询系统的各种命令 悬赏分:0 - 解决时间:2007-9-1 17:13 跪求 提问者: 海港love 明 - 一级 最佳答案 winver---------检查Windows 版本 wmimgmt ...
  • 网络安全的知识点
    信息安全的基本要求:机密性.完整性.安全性 网络安全的攻防体系:攻击和防御. 攻击技术:网络监听.网络扫描.网络入侵.网络后门.网络 隐身. 防御技术:安全操作系统和操作系统的安全配置.加密技术.防火墙技术.入侵检测.网络安全协议. TCP ...
  • 收集各种文件格式都是什么意思1370300032
    收集各种文件格式都是什么意思,用什么软件打开? pif 为DOS 环境下的可执行文件在Windows 下执行时所需要的文件格式 ★常见的文件后缀名 .ACA :Microsoft 的代理使用的角色文档 .acf :系统管理配置 .acm : ...
  • Linux内核动态跟踪-SYstemTap
    导读 :Sloaris中的Dtrace技术曾获<华尔街杂志>2 006技术创新大奖中的金奖.在2005年底,Sun在清华大学举办了Sloaris技术讲座,其中的Dtrace技术,让人耳目一新,它让技术人员摆脱了苦苦阅读静态源代码 ...
  • 阿里研究员毕玄谈应用运维体系的变迁,DevOPS是大势所趋
    2016年12月1日-2日,Velocity China 2016在京举行.会上阿里巴巴平台架构部研究员林昊(花名毕玄)发表了题为<阿里应用运维体系演变>主题演讲.主要介绍了阿里应用运维体系经历的几个不同阶段的演变.毕玄作为亲历 ...
  • xcv内蒙古广电网络整改方案
    内蒙古广电网络 整改方案 北京远景助力科技有限公司 2010年5月12日 北京远景助力科技有限公司 地址:北京市海淀区苏州街3号紫金长河4-162 内蒙办事处地址:呼和浩特市荣胜大厦B座5室0471-2524048/49/50 网址:www ...
  • 如何取消隐藏文件夹中的所有文件?
    问: 您好,脚本专家!如何运行脚本取消隐藏文件夹中的所有文件? -- GA 答: 您好,GA.您知道我们中的一位脚本专家在年少时和邻居家的其他小孩花费无数的时间玩各种捉迷藏.事实上,这位脚本专家仍清晰地记得躺在浅沟中,让其他组的人从他身上走 ...
  • 国家地名数据库管理系统-单机版安装手册
    1. 1安装数据库服务器SQL Server 将SQL Server安装光盘插入光驱,光盘会自动运行,出现以下界面: 选择"SQL Server 2000 简体中文个人版",出现以下界面: 选择"SQL Ser ...
  • 15秋福师[网络管理与应用]在线作业二答案
    福师<网络管理与应用>在线作业二 一.单选题(共 50 道试题,共 100 分.) 1. 每个W站点必须有一个主目录来发布信息,IIS默认的主目录为( ). . \Wsit . \Intpu\wwwroot . \Intrnt ...