• ftp自动下载脚本


    主动模式和被动模式转自http://my.oschina.net/binny/blog/17469

    #!/bin/bash
    ftp -i -n -v IP << EOF     

    #-i 关闭交互模式

    #-n 关闭自动登录功能

    #-v 程序运行时显示详细的处理信息

    user * *
    lcd /tmp
    passive   被动模式
    prompt off  关闭交互确认
    binary
    cd test01/
    mget *
    close
    bye
    EOF

    ===========================================================================================================================

    今天让整个ftp的下载脚本,只能下载文件后来又百度了一下能不能直接下载目录- - :

    使用wget下载整个FTP目录

    #wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r -c

    备注:星号*必须有,否则下载下来的就一个文件index.html
    -r参数就是用来目录下载的
    -c是使用断点续传,服务器要支持

    可以写到shell脚本中,后台执行。

    #!/bin/sh
    wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r -c

    保存为wget.sh,并赋予可执行权限

    # chmod +x wget.sh

    后台执行这个脚本,在命令后加“&”即可

    ./wget.sh &

    如果希望把执行结果输出到文件的话,前面加 nohup,默认输出文件名为 nohup.out

    nohup ./wget.sh &

    如果要限速的话,加上--limit-rate=100k,代表限速100k,-c是断点续传的意思。

    弄了半天还是linux命令强大啊 

    转自http://www.kevinick.com/archives/?article-401.html

    ============================================================================================

    expect写的ftp的脚本 纯属为了好看

    #!/bin/bash
    expect <<END
    spawn ftp IP
    expect ":root*" {send "* "}
    expect "Password" {send "* "}
    expect "ftp>" {send "cd test01 "}
    expect "ftp>" {send "lcd /tmp "}
    expect "ftp>" {send "prompt off "}
    expect "ftp>" {send "mget * "}
    expect "ftp>" {send "bye"}
    END

    又复习了下ftp的知识着重又看了下ftp的主动模式和被动模式:

    1.FTP的PORT(主动模式)和PASV(被动模式)

        (1) PORT(主动模式)

        PORT中文称为主动模式,工作的原理: FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,原理如下图:

    2) PASV(被动模式)

        PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输

    2.两种模式的比较

         从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

        主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

        被动模式只需要服务器端开放端口给客户端连接就行了

  • 相关阅读:
    Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 2 应用级扩缩容
    Flagger on ASM·基于Mixerless Telemetry实现渐进式灰度发布系列 1 遥测数据
    HTML特殊符号整理
    jq代替jsdom操作部分
    js操作html的基本方法
    使用for循环疑难问题
    使用盒子定位布局时margin和padding使用
    四使用浮动div布局
    解决Junit单元测试 找不到类 ----指定Java Build Path
    微信服务号申请、认证、认证后申请商家支付接口
  • 原文地址:https://www.cnblogs.com/cool4ever/p/5292156.html
Copyright © 2020-2023  润新知