FTP上传下载shell脚本

  1. ftp自动登陆批量下载文件。
#####从ftp服务器上的/home/data 到 本地的/home/databackup####
 #!/bin/bash
 ftp -n<<!
 open 192.168.1.171
 user guest 123456
 binary
 cd /home/data
 lcd /home/databackup
 prompt
 mget *
 close
 bye
 !
  1. ftp自动登陆上传文件。
####本地的/home/databackup to ftp服务器上的/home/data####
 #!/bin/bash
 ftp -n<<!
 open 192.168.1.171
 user guest 123456
 binary
 hash
 cd /home/data
 lcd /home/databackup
 prompt
 mput *
 close
 bye
 !
  1. 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
 !
  1. 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
 !

小结:把以上脚本另存为文件加入到crontab中便可实现ftp自动上传、下载文件。bash

注意文件后缀的大小写!!!笔者被坑过。。。 注解:服务器

  1. -n 不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)
  2. << 是使用即时文件重定向输入。
  3. !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。