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

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
##### 从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

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄