一个用awk实现的多主机自动FTP脚本Windows系统 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    那天在CU里看到有位同学的FTP脚本,做了点修改,希望不至于太土,

一个用awk实现的多主机自动FTP脚本Windows系统

。 可以用awk来指定不同主机的用户名及密码。附上源码,功能很简单,没有在远端创建目录的动作,也没有将上传动作放到后台。 仅做参考。 #!/bin/sh #同时向多个FTP 服务器 上传文件,文件上传到

    那天在CU里看到有位同学的FTP脚本,做了点修改,希望不至于太土。

    可以用awk 来指定不同主机的用户名及密码。附上源码,功能很简单,没有在远端创建目录的动作,也没有将上传动作放到后台。

    仅做参考。

    #!/bin/sh

    # 同时向多个FTP服务器上传文件,文件上传到服务器上该用户的FTP根目录下

    #

    # 对于所有服务器,目录结构均相同

    # 对于每一个服务器,用户名、密码可以不同,可以通过如下形式预定义

    #      :@

    # 对于username、passwd、hostip,不能包含冒号(:)、花a(@)

    # FTP服务器及其上的用户、密码

    HOSTCONF="usr1:pass1@host1 usr2:pass2@host2 usr3:pass3@host3"

    putit()

    {

    ftp -i -n -v $HOSTIP <<-PUTIT

    user $USERNAME $PASSWD

    bin

    put $LOCFILE $REMFILE

    PUTIT

    }

    # 指定本地文件名

    echo "请指定本地文件名:"

    read LOCFILE

    # 指定远端文件名

    echo "请指定远端文件名:"

    read REMFILE

    for host in $HOSTCONF

    do

    # 使用awk分解出主机IP、用户名、密码

    HOSTIP=`echo $host | awk -F"@" '{printf("%s", $2);}'`

    USRPASS=`echo $host | awk -F"@" '{printf("%s", $1);}'`

    USERNAME=`echo $USRPASS | awk -F":" '{printf("%s", $1);}'`

    PASSWD=`echo $USRPASS | awk -F":" '{printf("%s", $2);}'`

    echo "上传到主机: [ $HOSTIP ] 用户名: [ $USERNAME ] ......"

    # 上传文件

    putit

    echo "上传到主机: [ $HOSTIP ] 用户名: [ $USERNAME ] 结束!"

    done

    yjmsx 回复于:2005-05-26 08:36:15顶一下

    aerfa 回复于:2005-05-26 09:17:57study

    defoerol 回复于:2005-05-30 13:48:44HOSTCONF="usr1:pass1@host1 usr2:pass2@host2 usr3:pass3@host3"

    HOSTIP=`echo $host | awk -F"@" '{printf("%s", $2);}'`

    ?!

    saintdragon 回复于:2005-06-02 13:54:42not bad!

    七月天*珂 回复于:2005-06-02 16:10:28支持一下,顶!!!

    haja 回复于:2005-06-02 17:18:45还行.

   

    原文转自:http://www.ltesting.net

最新文章