当前位置: 首页 > news >正文

IT运维的365天--017 如何在两台Linux服务器之间快速传输文件夹(同时设置免密)

前情提要(两台Linux服务器之间传输批量文件夹):

两台都是外网服务器,都是Linux系统(CentOS),都安装了宝塔,用于搭建巨量的静态网站,由于A服务器准备不要了,所以要在A服务器转移几百个静态网站到B服务器。

Linux下scp单命令传输文件夹测试:

准备工作,先测试转移一个文件夹看看,传输文件正常就首选自带的scp程序了,老牌、安全、稳定。命令如下(A服务器下运行):

scp -CrpP 12345 -i id_rsa /www/wwwroot/www.xxx.com/* root@123.123.1.1:/www/wwwroot/www.xxx.com

解析:

        C 是压缩传输

        r 是递归子文件夹

        p 是连权限等文件属性一起传输

        P 大写P后面跟着空格加目标服务器SSH端口号,如果ssh是默认的22端口,可以省略

        i 则是指定免密链接的私钥文件,文章后面再顺便讲解怎么生成这免密链接的私钥文件

        加v可以看到传输的具体过程,但我实际实践发现,这所谓的具体过程是很细碎的通讯过程,没必要也晦涩难懂,不加v就有详细的文件传输列表,够了~

注意:第一次链接需要保存访问指纹fingerprint,如下图,输入yes即可。

用Shell脚本批量传输文件夹到另一个Linux服务器:

好了,单个文件夹的传输测试成功了。接下来就是批量传输了,由于域名没有规律,那么就只好通过域名清单的文本文件来提供给脚本运行,替代Shell命令的参数了。

文件名weblist.txt

格式: 

abc100.com
abc101.com
abc102.com

Shell文件copy2_new.sh内容如下:

1,宝塔系统里网站的保存位置都是/www/wwwroot/下,都是www.开头的文件夹

2,scp命令前加time是计算每个域名复制的合计时间,但缺点就是没有滚动的文件名清单了

3,time命令后面我试了重定向输出>>/root/webtrans.log 没成功,不知道为啥,后面有兴趣再研究。有懂的可以留言告知,万分感谢~    

#!/bin/bash                                                                                                                                       
while read rows                                           

http://www.mrgr.cn/news/54590.html

相关文章:

  • xlnt加载excel报错:xl/workbook.xml:2:2581: error: attribute ‘localSheetId‘ expected
  • 阿里云云盘在卸载时关联到PHP进程,如何在不影响PHP进程情况下卸载磁盘
  • C++智能指针及其应用
  • 【Linux】僵尸进程和孤儿进程
  • 深入理解new Function
  • 生成模型初认识
  • 少儿Scratch图形化编程案例100课——005公鸡捉虫
  • 【人工智能-初级】第10章 用Python从零构建简单的神经网络
  • 能够免费剪辑音频的工具有哪些?试试这4款!
  • JS闭包的特性和应用场景
  • Kubernetes GPU 调度和 Device Plugin、CDI、NFD、GPU Operator 概述
  • FastDFS单节点部署
  • 《欢乐饭米粒儿》第九季热播中,今晚精彩继续!
  • PUBG报错:吃鸡请重新安装软件MSVCP140.dll的必备修复方法
  • C#中实现事务
  • 2024130读书笔记|《不确定的我》——我们奔走、挣扎抗拒着,又热切地期盼着
  • 车载软件架构---汽车电子软件 A-B分区
  • 提示词高级阶段学习day1
  • LLAMA2入门(二)-----Transformer基础知识
  • 基于SSM果蔬经营系统的设计
  • 函数指针和指针函数
  • 一套开源轻量级的新零售快消进销存管理系统,使用.Net7 + Angular4开发(附私活源码)
  • 腾讯云技术深度解析:构建高效云原生应用与数据安全管理
  • 爬虫+数据保存
  • Maven 的使用:在 IDEA 中配置 Maven 的超详细步骤
  • centOS部署Jenkins实现项目可持续自动化部署