• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

如何让FTP自动化?[原创]

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网
[size=18:c9d167a19e]
[color=blue:c9d167a19e]
(1)建立一个自动化FTP的脚本文件,把需要运行的FTP命令按顺序写上。

举例如下:

open 142.73.111.2
user root sdccf
binary
cd /tmp/tmp
get wzq
bye
将这个脚本命名为autoftp,现在解释一下上面的各个命令的意思:
open 142.73.111.2 ,打开IP地址为142.73.111.2的主机
user root sdccf,   表示以root用户登陆,root密码为sdccf
binary,表示以二进制模式传输文件
cd /data,切换到/data目录下
get wzq,下载名为wzq的文件到本地主机的当前目录下
bye,退出FTP工作

(2)编写一个调用此脚本的shell,例如命名为myftp,内容只有一行,如下:
ftp -vin <autoftp

解释:
 -v — 显示chat过程
 -i — 关闭交互模式
 -n — 关闭自动登录过程

(3)将myftp的权限改为可执行,然后直接运行myftp即可。
[/color:c9d167a19e]
[/size:c9d167a19e]

 answer 回复于:2003-03-14 09:38:39
谢谢,老大。

 sdccf 回复于:2003-03-14 09:48:26
经常有人问类似的问题,所以我整理了一下。

 午夜聆听 回复于:2003-03-14 10:04:26
简单易懂。精典!
谢谢老板主。

 真龙纯 回复于:2003-03-14 10:17:25
果然是老大啊。

 yourkeychen 回复于:2003-03-14 12:01:54
早点见到我以前就不用那么辛苦坐在电脑旁边担心它断线了重新ftp了,非常感谢。

 fsldg 回复于:2003-03-16 01:35:19
如果密码为回车,能否实现?

 htldm 回复于:2003-03-16 06:49:52
用vi编辑脚本文件,添加^M即可。

 aswellas 回复于:2003-03-16 17:20:19
如果,我要get一个文件今天是xxx-2003-03-16.dmp,但明天我要get的文件就会变成xxx-2003-03-17.dmp,这个如何在脚本里实现?

 Sun1981 回复于:2003-03-16 17:51:21
谢谢老大,请问telnet可不可以也这样实现呢?

 蓝色键盘 回复于:2003-03-16 18:03:40
恢复aswellas   
当然可以了,你可以在脚本里面写上你的文件名称的生成规则就可以了,这种小问题,不用老大回答了,我帮你回答,举例如下:
#!/bin/sh
filedate= "xxx-`date +%y-%m-%d.dump"
#假如你的这些文件位于/tmp下面
ftp -vin<!
open 142.73.111.2 
user root sdccf 
binary 
prompt  #如果ftp参数中有-i选项,该语句可以略
cd /tmp
get  $filename
bye 
!

 thinkeryy 回复于:2003-03-17 00:44:01
[quote:b6d026d76e="htldm"]用vi编辑脚本文件,添加^M即可。[/quote:b6d026d76e]
如果没有密码呢?

 diablocom 回复于:2003-03-17 10:47:10
[quote:8805feba15="sdccf"][/quote:8805feba15]

不好意思说一下,这个方法和脚本在别的BBS上早就出来过。。。而且本人在项

目中也用过,而且和老版的命名也一样。。。autoftp:)

在银行实施的一个问题就是用户问题,不可能提供一个用户不设密码(尤其是生

产机)或者把密码写进脚本里。

不过这种办法在开发的时候还是有用的。

 aswellas 回复于:2003-03-17 12:02:00
[quote:6592429341="蓝色键盘"]恢复aswellas   
当然可以了,你可以在脚本里面写上你的文件名称的生成规则就可以了,这种小问题,不用老大回答了,我帮你回答,举例如下:
#!/bin/sh
filedate= "xxx-`date +%y-%m-%d.dump"
#假如你的这些文件?.........[/quote:6592429341]
好像都对不起来呀


 yangshansao 回复于:2003-03-17 13:55:37
请问能不能实现UNIX的文件自动传送到WINDOWS2000的机器上?

 IanZhang 回复于:2003-03-17 14:27:41
把 autoftp 改名为 $HOME/.netrc,  格式可变为:
machine HOSTNAME login USERNAME password USERPASS macdef init
命令序列...
bye

注意:第一行的大写部分为自己填上去的内容。
然后调用 ftp HOSTNAME 即可

 qdchenf 回复于:2003-03-17 15:01:56
[quote:607c61c9d7="yangshansao"]请问能不能实现UNIX的文件自动传送到WINDOWS2000的机器上?[/quote:607c61c9d7]试试TransSoft's ftp Control(http://www.ftpcontrol.com有试用版下载)

 xinyv 回复于:2003-03-17 16:04:02
请问如何能自动的定时备份一个文件夹,包括子文件和子文件夹。

 Law 回复于:2003-03-18 11:01:57
老大,能不能实现定时get某个目录下面的文件那?

比如一个程序往里面放文件,放好之前是以.tmp结尾的,放好了后修改成.avl,我们就要得到这些.avl文件,但是什么时候能生成我们是不知道的,所以需要定时去get!

 老农 回复于:2003-03-18 16:53:25
使用cron啊,很容易

 hanyu 回复于:2003-03-18 18:08:21
of course
楼上兄弟们所说的 并不限定FTP SERVER 为SCO UNIX ,
windows 带的 ftp 也可以自动化
ftp -s autoftp

 fsldg 回复于:2003-03-19 16:45:58
请回复!!!

 ren012345 回复于:2003-03-20 21:56:31
好。。谢谢。。学了点

 kuanyu 回复于:2003-03-21 10:20:12
请问有10台主机,怎么用FTP同时传送文件,谢谢。

 fsldg 回复于:2003-03-24 09:46:11
密码是回车,是不是这样:
user root \r

 fsldg 回复于:2003-03-24 10:20:20
user root \r



请回复

 fsldg 回复于:2003-03-24 12:04:09
user root \r



请回复

 小跑 回复于:2003-03-29 22:40:01
脚本和SHELL的区别??偶不明白?-_-b
用什么生成脚本,用什么生成SHELL呢??偶比较菜呀!

 hj6303 回复于:2003-04-08 21:17:36
.netrc 如何用,我试了多次均不成。
machine admin login lll password lll

但用ftp -n不起作用。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网