您的位置:首页 > 编程语言 > PHP开发

自动ftp脚本的使用

2011-02-28 11:59 169 查看
1. 使用.netrc文件

在自己的home目录下建立一个权限600,名为.netrc的文件,内容是:
machine 192.168.1.1 login test password test
其中192.168.1.1为服务器的ip或主机名,test为服务器的一个帐号,后一个test为密码。
这样以后你每次ftp 192.168.1.1的时候,系统都会帮你以用户名test,密码test登录。



2. 在脚本中写ftp命令

ftp -n<<!
open 192.168.1.171
user guest 123456 *用户名 和密码
binary *设置传输方式
cd /home/data
lcd /home/databackup
prompt 关闭自动交互
mget *
close
bye
!



3. 使用命令文件

FTP服务器IP地址为10.30.15.3,需进行文件传输的目录为C:\data,登录用户名为Anonymous,口令为123456。从本机到对方机接收文件操作方法如下。

  第一步,先新建一个文本:

  Open 10.31.15.3

  User anonymous

  123456

  Cd data

  Prompt

  Mget *.*

  Bye

  Quit

  Exit

  将该文本保存为1.ftp存放到C盘根目录。该文件只要扩展名为ftp,前缀可任意取名。目录也不一定要在根目录,主要以方便为主。文本中Bin为用二进制码格式传输文件,如用ASCII码格式传输文件可去掉该行。如为本机向对方机发送文件,则只要将文本中的Mget替换成Mput即可。这之后,再新建另一个文本:

ftp –n –s:”c:/1.ftp”



4. 使用expect等脚本

说明:使用了expect,参数为ftp服务器地址和要下载的文件名
参数:lindex $argv 0 读取ftp服务器ip地址
lindex $argv 1 读取要下载的文件名
编辑:
#vi ftp.sh
spawn ftp [lindex $argv 0]
expect "Name (*):"
send "anonymous/r"
expect "Password:*"
send "/r"
expect "ftp>"
send "binary/r"
expect "ftp>"
send "hash/r"
expect "ftp>"
send "get [lindex $argv 1]/r"
expect "* Transfer complete."
send "exit/r"
执行方法:expect ftp.sh 服务器ip地址 文件名称
(expect ftp.sh 192.168.0.1 filename.txt )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: