• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    ssh 批量上传文件

      in  unix      Tags: 

    上传文件大多数用的是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

    #!/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

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

    3,上传的格式

    ./file_upload.sh test 192.168.1.13

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



    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开