zoukankan      html  css  js  c++  java
  • 简单易懂的ftp脚本自动登录教程

    最近发现一款不错FTP服务器批量管理工具,推荐一下)
    工具:FTP客户端-IIS7服务器管理工具
    简介:作为FTP客户端,它支持批量管理ftp站点
    定时上传和定时下载,定时备份,且操作简洁等
    官网地址

    我在上上篇《nmon脚本——对Linux服务器的监控》的脚本中,使用了ftp的自动登录。结果有人询问,遂决定专门写一篇简单易懂的博客,来说明如何解决ftp的自动登录问题。


    一、Windows

    在windows下非常简单,windows下的ftp客户端有一个-s参数可以带一个文件,用ftp -s去执行就可以。

    • 把所有在ftp命令行下要输入的内容照原样输入到autologin.txt中:
    open 10.60.56.90
    whb
    123456
    get test
    close
    bye
    
    • 输入命令:
    E:/>ftp -s:autologin.txt
    
    • 得出结果:
    ftp> open 10.60.56.90
    Connected to 10.60.56.90.
    220 (vsFTPd 2.0.5)
    User (10.60.56.90:(none)):
    331 Please specify the password.
    230 Login successful.
    ftp> get test
    200 PORT command successful. Consider using PASV.
    150 Opening BINARY mode data connection for test (5 bytes).
    226 File send OK.
    ftp: 收到 5 字节,用时 0.00Seconds 5000.00Kbytes/sec.
    ftp> close
    221 Goodbye.
    ftp> bye
    E:/>
    
    注意:如果是匿名登录,密码那一行留空。

    二、Linux

    在linux下,上面的方法失效,不过条条大路通罗马,不虚。

    方法一:

    #!/bin/bash
    SERVER=server
    USERNAME=username
    PASSWORD=password
    ftp -n $server <<SCRIPT
    quote USER $username
    quote PASS $password
    cd remote_path
    lcd local_path
    binary
    verbose
    get something
    put something
    close
    quit
    SCRIPT
    

    方法二:

    #!/bin/bash
    SERVER=server
    USERNAME=username
    PASSWORD=password
    ftp -n $server <<SCRIPT
    user $USERNAME $PASSWORD
    cd remote_path
    lcd local_path
    binary
    verbose
    get something
    put something
    close
    quit
    SCRIPT
    

    方法三:

    使用.netrc,还可以用man netrc看这个文件的配置参数。

    • 比如写如下的.netrc文件:
    machine whb
    login whb
    password 123456
     
    machine node6
    login globus
    password 123456
    
    • 输入命令:
    [whb@jcwkyl ~]$ chmod 600 .netrc
    [whb@jcwkyl ~]$ ftp node6
    
    • 得到结果:
    Connected to node6.jlu.edu.cn.
    220 (vsFTPd 1.1.3)
    530 Please login with USER and PASS.
    530 Please login with USER and PASS.
    KERBEROS_V4 rejected as an authentication type
    331 Please specify the password.
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> 
    
    注意:如果.netrc文件中使用password设置了ftp登录密码,那么除该文件所有者外,其他用户对该文件都不能有读权限,否则自动登录会失败。

    除此之外,网上还有其他许多ftp自动登录的实现办法(比如expect)等等,都可以google到,这里就不再阐述了。

  • 相关阅读:
    原生js螺旋运动
    拉美电子游戏市场创收45亿美元
    ZOJ 3229 Shoot the Bullet
    Java的压缩、解压及压缩加密、解密解压 样例
    java环境变量配置
    git在myelispse中的安装
    java注解
    Python测试框架doctest
    python中的协程
    Flask log配置,实现按照日期自动生成日志文件
  • 原文地址:https://www.cnblogs.com/WoLykos/p/12029775.html
Copyright © 2011-2022 走看看