使用ssh批量上传文件

上传文件大多数用的是ftp,但是用ftp有一点不好,就是本地和远程的目录要对应,这样就要在多个目录下去切换,这样挺麻烦的,如果不注意的话,很有可能传错。所以想了个办法利用scp来批量上传文件或者目录。

专注于为中小企业提供成都网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业海伦免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

一、scp上传不要输入密码

如果要用scp来上传文件,第一步就要去掉scp上传时要输入密码。要不然就没办法批量上传了。具体请参考:ssh 不用输入密码

二、ssh批量上传脚本

1、要上传的文件列表放到一个test文件中

root@ubuntu:/home/zhangy# cat test
/home/zhangy/test/aaa
/home/zhangy/test/nginx.conf
/home/zhangy/test/test.sql
/home/zhangy/test/pa.txt
/home/zhangy/test/password

上面就要上传的文件。

2、批量上传的脚本

vim file_upload.sh[neiqian]

#!/bin/sh
DATE=`date +%Y_%m_%d_%H`
if [ $1 ]
then
 for file in $(sed '/^$/d' $1)     //去掉空行
 do
   if [ -f $file ]                 //普通文件
   then
     res=`scp $file $2:$file`      //上传文件
     if [ -z $res ]                //上传成功
     then
       echo $file >> ${DATE}_upload.log   //上传成功的日志
     fi
   elif [ -d $file ]              //目录
   then
     res=`scp -r $file $2:$file`
     if [ -z $res ]
     then
       echo $file >> ${DATE}_upload.log
     fi
   fi
 done
else
 echo "no file" >> ${DATE}_error.log
fi

上传成功后,返回的是一个空行,上传不成功,什么都不返回

[erji]3、上传的格式[erji]

./file_upload.sh test 192.168.1.13

test是上传列表文件,[neiqian]192.168.1.13文件要传到的地方。

名称栏目:使用ssh批量上传文件
文章源于:http://www.csdahua.cn/qtweb/news14/296114.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网