后台运行FTP存取文件实例及命令详解

这几天数据库从windows平台的9I升级到linux平台的11G,因为EXP不支持高版本导出低版本,只好从本地导出再FTP传到新服务器上。文件比较大,传输时间长,所以找了几个脚本后台执行,晚上就可以好好回家休息了。^_^

样例1:手工上传文件
#>ftp
ftp>open 192.168.58.11
ftp>lcd /opt/GenEMS    进入本机目录/opt/GenEMS
ftp>mkdir tmp          ftp上创建目录tmp
ftp>cd  /tmp           进入远程ftp目录tmp
ftp>mput *             上传本机目录/opt/GenEMS的文件到ftp的当前目录
ftp>bin                  以二进制传输,文件保持原样

ftp>mget *      从ftp当前目录下载文件到本机目录/opt/GenEMS
ftp>bye

 

样例2:后台运行从FTP服务器存取文件
 1、首先建立两个文件,ftp_command,.netrc(放在登录用户/home/user/目录下)
ftp_command文件内容如下:(执行的命令)
bin
prompt
cd ????
mget ???????    ---修改为mput则为存文件。
bye


 .netrc文件内容如下:(认证文件)
machine 140.117.11.3 login ftp password username@
如:oracle@swapdb:/orcl/dump>more /home/oracle/.netrc
  machine 192.168.58.11 login anonymous password oracle@
  注意: .netrc 文件的权限应为400. 修改:chmod 400 .netrc
          <username@> 为你的 LoginUser ID 后加一个 @ 字符.
2、执行命令
  nohup ftp 192.168.58.11 <ftp_command &

 

样例3:脚本方式后台运行,可以加入crontab实现定时存取文件
ftpcopy.sh脚本内容:
cd /home/oracle
ftp -n<<!
open 192.168.58.11
user username password
put abc.sh
close
bye
!
加入到corntab 里就可以了  nohup /home/oracle/ftpcopy.sh & 2>/dev/null 1>/dev/null

 

重要命令及相似命令:
   (1) ?, help, remotehelp, rhelp:
       help       显示 local 端的命令说明, 若不接命令则显示所有可用命令
       ?          相当于 help.e.g. ? cd (Enter)
       rhelp      同 help, 除了他为显示 remote端.
       remotehelp 相当于 rhelp.
   (2) asc (ascii), bin (binary), image, type:
       ascii  切换传输模式为文本模式.(只能用来传送 doc, 因为是 7-bit)
       binary 切换传输模式为二进制模式. (除文本文件外皆用此模式)
       image  相当于 binary.
       type   让你更改或显示目前传输模式.
   (3) bye, quit:
       bye  退离 ftp.
       quit 相当于 bye.
   (4) cd, cdup, lcd, pwd, !:
       cd   改变目前工作目录(change directory). e.g. cd /pub (Enter)
       cdup 回到上一层目录, 相当于你打 cd .. (Enter)
       lcd  让你更改或显示 local端的工作目录. e.g. lcd /tmp (Enter)
       pwd  显示目前的工作目录.(remote 端)
       !    让你执行 shellcommand. e.g. !ls (Enter)

   (5) delete, mdelete, rename:
       delete  删除 remote 端的文件.
       mdelete 集体(大量)删除文件, 需配合通配符.
       rename  更改 remote 端的文件名.

   (6) get, mget, put, mput, recv, send:
       get  抓取(下传)文件.
       mget 集体(大量)抓取文件, 需配合通配符. e.g. mget *.gz
       put  丢放(上传)文件.
       mput 集体(大量)丢放文件, 需配合通配符.
       recv 相当于 get. (receive)
       send 相当于 put.

   (7) hash, prompt, verbose, status, bell:
       hash    切换 # 字号的出现. 每一个 # 字号表示每传送了1024/8192 bytes.
       prompt  切换Interactive on/off. e.g. 当 mget * , on/off 确定传档.
       verbose 切换所有文件传输过程的显示.
       status  显示目前的一些参数.
       bell    切换哔哔声,当指令做完时会发出一声...beep!

   (8) ls, dir, mls, mdir, mkdir, rmdir:
       ls    有点像 UNIX 下的 ls (list) 命令.
       dir   相当 ls -l(list -long).
       mls   只是将 remote 某目录下的东东存在local 端的某文件里.
       mdir  相当于 mls, 但资料较丰.
       mkdir 像 UNIX 下的 mkdir 一般. (make directory)
       rmdir 像 UNIX 下的 rmdir 一般. (remove directory)

   (9) open, close, disconnect, user:
       open       开一个connection 到某个 remote ftp host.
       close      关闭目前的connection.
       disconnect 相当于 close.
       user       再输入一次username 和 password. (有点像 UNIX 的 su)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值