首页 > 其他分享 >使用rsync命令同步两台服务器之间的文件

使用rsync命令同步两台服务器之间的文件

时间:2024-09-29 22:21:17浏览次数:7  
标签:www 同步 rsync 192.168 1.101 服务器之间 两台 ssh

rsync 是一种非常常用的文件同步工具,能够在两台服务器之间高效地同步文件和目录。它支持增量传输,只同步发生了变化的文件部分,极大提升了传输效率。以下是使用 rsync 命令同步两台服务器之间文件的步骤与详细示例。

前提条件

  1. 两台服务器,假设它们的 IP 分别为 ServerA: 192.168.1.100ServerB: 192.168.1.101
  2. SSH 访问权限rsync 默认通过 SSH 进行安全连接,因此需要确保可以通过 SSH 从 ServerA 连接到 ServerB
  3. 安装 rsync:确保两台服务器上都已安装 rsync

rsync 命令基本格式

rsync [选项] 源文件路径 目标文件路径

常用选项

  • -a:归档模式,表示递归传输文件并保持文件属性(相当于 -rlptgoD)。
  • -v:显示传输过程中的详细信息。
  • -z:在传输过程中压缩文件。
  • -P:显示传输进度,并在中断后可以继续传输。
  • -e:指定远程 shell 程序(如 ssh)。
  • --delete:删除目标目录中源文件已删除的文件,使两端完全同步。

1. 从本地服务器同步到远程服务器

假设我们在 ServerA 上执行 rsync,同步文件到 ServerB

例子:将本地目录 /var/www/ 同步到 ServerB 上的 /backup/www/
rsync -avzP -e ssh /var/www/ [email protected]:/backup/www/

解释:

  • -a:归档模式,保留文件属性。
  • -v:显示详细信息。
  • -z:传输时压缩文件。
  • -P:显示进度并支持断点续传。
  • -e ssh:使用 SSH 连接到远程服务器。
  • [email protected]:远程服务器的 SSH 用户名和 IP 地址。
  • /backup/www/:远程服务器的目标目录。
带有 --delete 参数的同步

如果需要目标目录与源目录完全同步(包括删除目标中不存在的文件),可以使用 --delete 选项。

rsync -avzP --delete -e ssh /var/www/ [email protected]:/backup/www/

2. 从远程服务器同步到本地服务器

如果我们想从 ServerB 上的 /backup/www/ 目录同步到本地 ServerA/var/www/ 目录,可以执行以下命令:

rsync -avzP -e ssh [email protected]:/backup/www/ /var/www/

3. 使用免密码的 SSH 登录

为了避免每次执行 rsync 时输入密码,可以配置 SSH 密钥认证

步骤:
  1. 生成 SSH 密钥对(如果还没有):

    ssh-keygen -t rsa
    

    按提示生成公钥和私钥(一般位于 ~/.ssh/id_rsa~/.ssh/id_rsa.pub)。

  2. 将公钥复制到远程服务器

    ssh-copy-id [email protected]
    

    这会将公钥添加到远程服务器 ~/.ssh/authorized_keys 文件中。

  3. 测试免密登录

    ssh [email protected]
    

    如果无需输入密码即可登录,SSH 免密码认证配置成功。

  4. 再次使用 rsync
    现在可以使用 rsync 进行同步,而不需要输入密码:

    rsync -avzP /var/www/ [email protected]:/backup/www/
    

4. 在 crontab 中自动执行 rsync

你可以将 rsync 命令添加到 crontab 中,以实现定时自动同步。

步骤:
  1. 编辑 crontab

    crontab -e
    
  2. 添加定时任务,例如每天凌晨 2 点同步:

    0 2 * * * rsync -avzP /var/www/ [email protected]:/backup/www/
    

    这会每天凌晨 2 点自动执行 rsync 同步。

5. 使用排除文件

有时候,你不想同步某些文件或目录,可以使用 --exclude 选项。

例子:排除 .git 目录和日志文件:
rsync -avzP --exclude='.git/' --exclude='*.log' /var/www/ [email protected]:/backup/www/

总结

  • rsync 是一个高效的文件同步工具,特别适合大文件和远程服务器之间的增量同步。
  • 结合 SSH 免密登录和 crontab,可以实现自动化、无干预的文件备份和同步。

标签:www,同步,rsync,192.168,1.101,服务器之间,两台,ssh
From: https://blog.csdn.net/yxyc666/article/details/142331896

相关文章

  • sersync+rsync实现服务器文件实时同步
    sersync+rsync实现服务器文件实时同步一、为什么要用rsync+sersync架构?1、sersync是基于inotify开发的,类似于inotify-tools的工具2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用r......
  • rsync+inotfiy文件同步
    rsync+inotfiy文件同步1.部署rsync服务yuminstallrsync#安装rsync,如果嫌yum版本过低也可以源码安装2.vim/etc/rsyncd.conf#默认rsync没有配置文件,创建一个,文件中#和汉字仅为注释,使用中请将所有注释清除......
  • rsync+inotify
    一、rsync简介rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具RemoteSync可以远程同步。它使用一种称为“Rsync演算法”的技术,只传输文件的不同部分,而不是每次都整份传送,这使得它在备份和同步大量数据时非常高效。rsync可以镜像保存整个目录树和文件系统,保持原......
  • mysql5.5源码主从复制搭建(以两台机器的单实例为例)
    mysql5.5源码主从复制搭建(以两台机器的单实例为例)如果对运维课程感兴趣,可以在b站上、csdn或微信视频号上搜索我的账号:运维实战课程,可以关注我,学习更多免费的运维实战技术视频项目1  配置mysql服务器的主从结构(开始时主从数据不一致时需要找到临界点的主从同步,主库初始......
  • rsync 学习笔记(二)常见问题集锦
     问题一@ERROR:chrootfailedrsyncerror:errorstartingclient-serverprotocol(code5)atmain.c(1522)[receiver=3.0.3]原因服务器端的目录不存在或无权限。创建目录并修正权限可解决问题。问题二@ERROR:authfailedonmoduleteersyncerror:errorstarting......
  • rsync 学习笔记(一)编译
    一、背景 rsync二进制程序依赖外部库,由于安全问题,有时会单独升级依赖的外部库。另外为了防止因为栈溢出攻击导致服务器被黑,需要对rsync及其依赖的外部库重新编译,开启安全编译选项,增加黑客破解的复杂度。 所有的库编译必须要求加上如下编译选项:栈保护(-fstack-protector-al......
  • Rsync: 高效的文件同步工具
    rsync是一个非常流行的命令行工具,用于高效地同步文件和目录。它广泛用于Linux和UNIX系统,但也可以在Windows上通过Cygwin或WSL(WindowsSubsystemforLinux)使用。本文将介绍rsync的基本概念、特点以及如何使用它来同步文件。什么是Rsync?rsync(remotesynchroniza......
  • Linux宝塔Mysql两台服务器主从配置,服务器存在多个库
    实现目标:两台服务器(一台为从服务器,一台为主服务器),当主服务器的数据修改,从服务器复制主服务器的操作,实现自动修改数据;1、主数据库操作-先登录主数据库#登录数据库,用root登录方便,用其他账号会提示权限不足,需要登录root给予权限mysql-uroot-p密码2、创建一个账号,供从库用......
  • Vmware 上安装部署免费开源NAS系统FreeNAS11.3操作系统(支持CIFS (samba), FTP, NFS,
    说明FreeNAS®于2005年首次跃上互联网,在过去的十年里,它已成为一个家喻户晓的名字,在全球拥有超过1000万次下载和100万次部署。FreeNAS是一套免费的NAS(网络附加存储)服务器解决方案,它基于FreeBSD和Python开发,能够将一台普通的PC转变为功能强大的网络存储服务器。概述类型:NA......
  • HTB-Synced(rsync)
    前言各位师傅大家好,我是qmx_07,今天给大家讲解Synced靶场渗透过程信息搜集我们看到873端口开放,判断是rsync协议,尝试连接连接rsync语法:读取文件显示出共享可读取文件:rsync--list-onlyrsync://10.129.30.167下载文件:rsyncrsync://10.129.30.167/pub......