• Linux学习笔记:使用shell脚本实现ftp的自动上传下载


      在 Linux 下可以利用 Shell 实现 ftp 文件的自动上传和下载,封装至 crontab 更可实现定时调度。

    1.ftp自动登录批量下载文件

    ##### 从ftp服务器上的/home/data到本地的/home/databackup ####
    #!/bin/bash ftp -n << ! open 192.168.122.122 user user_name 123456 binary cd /home/data lcd /home/databackup prompt mget * close bye !

    2.ftp自动登录批量上传文件

    #### 本地的/home/databackup 上传至ftp服务器上的/home/data ####
    
    #!/bin/bash
    ftp -n <<!
    open 192.168.122.122
    user user_name 123456
    binary
    hash
    cd /home/data
    lcd /home/databackup
    prompt
    mput *
    close
    bye
    !

    注意:hash  -- 每传输1024字节,显示一个hash符号(#)

    3.ftp自动登录下载单个文件

    #### ftp服务器上下载/home/data/a.sh to local /home/databackup ####
    #!/bin/bash
    ftp -n<<!
    open 192.168.1.171
    user guest 123456
    binary
    cd /home/data
    lcd /home/databackup
    prompt
    get a.sh a.sh 
    close
    bye
    !

    4.ftp自动登录上传单个文件

    #### 把本地/home/databachup/a.sh up ftp /home/databackup 下 ####
    #!/bin/bash
    ftp -n<<!
    open 192.168.1.171
    user guest 123456
    binary
    cd /home/data
    lcd /home/databackup
    prompt
    put a.sh a.sh 
    close
    bye
    !

    5.其他注意

    • 添加至crontab,即可定时实现ftp自动上传、下载
    • -n不受.netrc文件的影响(ftp默认为读取.netrc文件中的设定)
    • << 使用即时文件重定向输入
    • ! 即时文件的标志,成对出现,以标识即时文件的开始和结尾

    END 2019-04-17 11:26:18

  • 相关阅读:
    POJ 1966 Cable TV Network
    POJ 3204 Ikki's Story I
    Codeforces Round #388 (Div. 2)
    BZOJ 后缀自动机四·重复旋律7
    扩展欧几里得 exGCD
    网络流模板 NetworkFlow
    BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊
    BZOJ 3224: Tyvj 1728 普通平衡树
    BZOJ 1070: [SCOI2007]修车
    BZOJ 4552: [Tjoi2016&Heoi2016]排序
  • 原文地址:https://www.cnblogs.com/hider/p/10722415.html
Copyright © 2020-2023  润新知