UNIX上自动FTP任务的脚本实现

在UNIX环境中,如果需要经常性的大批量FTP,则可以考虑脚本实现。 

首先,写一个脚本,把所有的要运行的FTP脚本写入,Sample如下:

open 10.10.10.XX 2121
user username password
binary
prompt off
cd XXXX
get XXXX
put XXXX
bye

其中,prompt off是必需的,这样相当于屏蔽掉了所有可能导致job中断的提示信息。写这个脚本时,一定要注意,在get和put时,默认的目录是$HOME,如果不想用这个,要指明。

然后,这个脚本时不能直接运行的,因为它不是shell脚本,只是FTP脚本。新建一个脚本,写入下面的语句:

#!/bin/sh

ftp -n < $HOME/ftpfile.fsh

(假设刚才写的那个脚本存在$HOME下,名为ftpfile.fsh)

这个Shell脚本实际上是运行FTP命令,并且使用ftpfile.fsh作为FTP命令的输入。

man一下ftp可以知道,-n是避免使用默认连接。

       -n
            Prevents an automatic login on the initial connection. Otherwise,
            the ftp command searches for a $HOME/.netrc entry that describes
            the login and initialization process for the remote host. See the
            user subcommand.

我们已经在ftpfile.fsh中定义了open语句来创建ftp连接,当然不想让ftp命令自动利用$HOME/.netrc中的信息创建初始连接了,那样的话,就要先close那个连接才能创建我们的。我们不知道运行这个脚本时,$HOME/.netrc中有没有初始连接的信息,有了我们也不用,所以需要-n。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值