linux系统下一般都安装了,启用一下就可以了

(1):编辑配置文件

# sudo vi /etc/default/rsync #ubuntu 
# vi /etc/xinetd.d/rsync #centos

 centos:把disable=yse 改为no

 ubuntu:RSYNC_ENABLE=true #false改true

 启动:

# sudo /etc/init.d/rsync start #ubuntu
# systemctl start rsync #ubuntu20
# /usr/bin/rsync --daemon #centos
测试:
# rsync -arHz --progress root@10.10.0.1:/usr/local/www/data /usr/local/www/
然后会提示输入密码,OK!
上面是把10.10.0.0的data文件同步到本机的www下面,要是把本机同步过去,反过来写即可

 rsync的参数,可以看帮助文档或者网上查找

 --progress 传输过程中显示进度
  --exclude 忽略目录、文件
  -a 归档(压缩)模式,表示以递归方式传输文件,并保持所有文件属性
  -r 对子目录以递归模式处理
  -H 保留硬链接
  -z 在传输过程中进行压缩
  --delete 如果发送方有删除的文件,接收方同步删除

 --exclude,过滤忽略某些目录和文件,这里有个坑需要注意一下:

 比如:/usr/local/a/ 传到 /usr/local/b,忽略掉a/logs,a/config/config.php,这里一定不能写绝对地址,要写相对地址,相对地址是相对发送方而言的,不是当前执行命令的相对地址。

 正确写法:

rsync -arHz --progress --exclude "logs" --exclude "config/config.php" /usr/local/a/ /usr/local/b

前面两个排除的文件logs和config.php,其实是从第三个框框里面的目录拼接的。
--log-file='/usr/local/ssh/log/rsync.log' --log-file-format='%t %f %b' #也可以指定保存日志

3:建立主机信任,scp rsync建立链接都需要输入密码,很不方便,我们下面处理一下,直接链接就行,不用输入密码

(1):

# vi /etc/ssh/sshd_config
 找到以下内容,并且去掉 #,否则不会在.ssh下生成文件
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

 然后重启:

# /sbin/service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
(2):建立从A服务器到B服务器不用密码,在A服务器上执行ssh命令:
# ssh-keygen -t rsa  
按照提示选择yes,然后一直回车,最终会输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.  //你的公钥保存在这个位置
The key fingerprint is:

 34:85:92:a7:c1:b7:cb:67:6f:1f:3f:ba:7e:fa:ad:06 root@abcdefg

(3):把A服务器的/root/.ssh/id_rsa.pub 文件复制到B服务器

 注意:以下都是在B服务器上进行:

(4):写入authorized_keys,我这里的scp和rsync链接都是链接对方的root用户,所以命令:

# cat id_rsa.pub >>/root/.ssh/authorized_keys //root

 如果你链接的是其他用户,比如zhangsan,那么就是

 cat id_rsa.pub >>/home/zhangsan/.ssh/authorized_keys //zhangsan

注意这里的.ssh文件夹,不是都有的,如果没有的话,需要建立一个
# mkdir .ssh 
(5):centos5.5需要复制权限才可以,我们赋下权限
# chmod 600 .ssh/authorized_keys
# chmod 700.ssh
这样从A服务器访问B服务器就不用密码了,前提是访问B服务器的root用户,你如果要用其他B服务器上的用户,则还需要密码!
 

linux服务器项目迁移非常好用的工具scp和rsync的更多相关文章

  1. linux命令:拷贝命令家族(cp、scp、rsync)

    Linux命令中:rsync和cp之间的区别 - 小 楼 一 夜 听 春 雨 - 博客园https://www.cnblogs.com/kex1n/p/7008178.html cp,scp,rsyn ...

  2. Linux服务器上迁移项目路径,修改nginx配置,迁移及备份MongoDB数据库流程 (超详细)!!!

    缘由:客户服务器项目路径不是很合理,导致Jenkins自动部署时还需要添加路径后再更新部署,所以需要把项目路径统一和规范化. 迁移项目路径,保证路径合规,同时做好备份和迁移.迁移后先安装好依赖. 项目 ...

  3. linux 中文件权限和磁盘管理、linux服务器项目如何部署

    chmod chmod 421 xx.txt //4=r,2=w,1=x df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k ...

  4. linux服务器项目部署【完整版】

    之前总玩v8虚拟机,最近看到腾讯云学生套餐很实惠就租了个linux服务器搭一个项目,做下这个项目部署全记录,即为了方便以后查看,同时也分享下自己的经验,不足之处还请多多指教,废话不多说,直接开始!!! ...

  5. linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。

    首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要 ...

  6. linux服务器项目部署

    重启服务器 :reboot C:\Users\maple>mysql -u root -pEnter password: ******mysql> use test;Database ch ...

  7. linux服务器项目搭建常用命令

    linux下载链接文件 wget -c 后面是该网络地址和文件的位置. 例如:wget -c http://apache.opncas.or/MySQL/MySQL-7/v7.0.67/bin/MyS ...

  8. 从事UNIX/LInux服务器编程最方便的代码编译工具------(eclipse for c/c++)、(FileZilla)、(Secure CRT) 这三种一定要一起使用 之1

    今天主要是将前几天搞的Linux学习的心得写出来,希望帮助更多的人进行,方便从事Unix和Linux编程的同行和刚入门者.主要介绍三种工具并给出安装过程,请大家不必怀疑这个博文,此博文是我自己原创.请 ...

  9. 部署web前端的react项目到linux服务器

    部署web前端的react项目到linux服务器 项目的目录结构 ``` ├─dlls #dlls编译后的问题 ├─doc #帮助文件入口 │ ├─src │ ├─apps #各个功能模块放在这里 │ ...

  10. Linux服务器redhat配置本地yum源

    前面给大家介绍了很多在Linux安装软件的知识,这些软件往往依赖了很多第三方的工具或者软件,如果在Linux服务器有外网的情况,咱们可以通过yum install这样的命令直接去安装这些相关的工具或者 ...

随机推荐

  1. ssr 学习总结

    自己构建ssr 前提:了解  koa, koa-router, koa-static, webpack 文件结构 ssr  中的router store 都是  一个工厂函数 在服务器端渲染(SSR) ...

  2. C/C++ union联合体介绍

    C/C++ union联合体介绍 文章参考:https://blog.csdn.net/mooneve/article/details/92703036 目录 C/C++ union联合体介绍 1. ...

  3. vue 分页显示 引用Element框架

    VUE组件 父页面-子组件-传值 单表查询图片上传: 注释为简单方法 图片显示方法: 红框处应该为地址+存图片的文件夹名  +当前图片的值 在vue中引用Element需要的步骤 1.在终端中输入网址 ...

  4. Spring入门之使用 spring 的 IOC 解决程序耦合(Spring 基于 XML 的 IOC 细节[掌握])(03-02)

    3.3Spring 基于 XML 的 IOC 细节[掌握] 3.3.1 spring 中工厂的类结构图 3.3.1.1 BeanFactory 和 ApplicationContext 的区别 Bea ...

  5. 软件开发流程-路飞项目需求- pip永久换源-虚拟环境-路飞项目前后端创建-包导入-后端项目调整目录

    目录 软件开发流程-路飞项目需求- pip永久换源-虚拟环境-路飞项目前后端创建-包导入-后端项目调整目录 今日内容概要 今日内容详细 1 软件开发流程 2 路飞项目需求 3 pip永久换源 4 虚拟 ...

  6. You are using pip version 8.1.2, however version 23.0 is available.You should consider upgrading via the 'pip install --upgrade pip' command.

    今天使用python2安装es模块时报错: 原因是pip(模块管理工具)版本过低,需先升级pip,再进行安装 先替换pip的镜像,默认镜像拉取慢,还可能会失败 cd ~;mkdir .pip;touc ...

  7. 26 docker 安装 solr

    准备一台已经安装过docker的服务器 获得solr镜像 #可以指定版本 docker pull solr:7.5.0docker pull solr:7.7.3 创建数据挂载文件夹 允许访问权限 s ...

  8. Docker CLI docker buildx build 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  9. Hadoop集群搭建(详细简单粗暴

    搭建所用Hadoop java版本 hadoop-3.1.3.tar.gz jdk-8u212-linux-x64.tar.gz 安装包链接:Hadoop及jdk安装包提取码:icn6 首先,我们先下 ...

  10. kali上的apache2

    之前总是疑惑为什么kali上的apache服务称之为apache2,但是也没想到去找找答案,今天突然想到了,简单搜索了一下大致就是, 现在Apache HTTP 存在三种版本, 1.3 2.0 和2. ...