千家信息网

必备技能rsync同步备份

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一、了解rsync;1、 rsync是一款类unix增量备份工具,可以实现快速的镜像同步。2、 rsync的特点:1) 同步整个目录(递归同步)树2) 能保持文件的属性(权限、时间、软硬链接)3) 快
千家信息网最后更新 2026年10月31日必备技能rsync同步备份

一、了解rsync;

1、 rsync是一款类unix增量备份工具,可以实现快速的镜像同步。

2、 rsync的特点:

1) 同步整个目录(递归同步)树

2) 能保持文件的属性(权限、时间、软硬链接)

3) 快速:首次同步时完全复制,再次同步只同步修改部分,且传输是压缩的。

4) 安全:可以调用ssh协议加密传输

5) 支持匿名的站点同步,实现公共资源共享。

3、 rsync工作原理:

1) rsync的架构:C/S;角色分为同步源(备份源)、发起端。

发起端:发起rsync请求的。

同步端:相应rsync请求的。

2) 同步的方向:

上行同步:数据在发起端,本地登陆用户对数据必须有读取权限,远程用户必须对目录有写的权限

下行同步:数据在同步源,本地登陆用户对目录必须有写入权限,远程用户必须对数据有读的权限

二、rsync的基本使用

1、 基本语法:

本地同步:rsync [选项] 数据 目标目录

远程上行同步: rsync [选项] 数据 用户@IP:/目标目录

远程下行同步: rsync [选项] 用户@IP:/数据/ 目标目录

2、 常用的选项:

-avzH ##a归档并保留属性,v显示详细信息,z压缩,H保留硬链接

--delete ##删除目标目录有但源数据中没有的文件

3、 注意事项

1) 源数据加"/" 表示同步目录的内容;不加"/"表示同步目录本身及其内容。

2) --delete选项经常用来删除大文件,速度很快。

4、 远程同步:推荐使用SSH的方式,即安全又方便。

1) 创建用户(同时在发起端和同步源上完成)

2) Setfacl设置权限,保证rsync的权限和远程程序权限

3) 配置ssh的密钥队登陆实现rsync无密码执行

4) 编写脚本和计划任务,完成定时的同步

三、rsync+inotify自动同步

1、 了解inotify:linux内核提供文件系统变化监控并通知的机制,通过inotify-tool工具进行管理。

2、 调整内核参数:

max_queue_events:监控队列大小

max_user_instances:最多监控实例数

max_user_watches:每个实例最多监控文件数

fs.inotify.max_queued_events = 16384

fs.inotify.max_user_instances = 1024

fs.inotify.max_user_watches = 1048576

3、 inotify-wait命令的语法:

inotifwait -mrq -e modify,create,move,delete,attrib 目录 选项:-m持续监控、r递归、q简化输出,-e指定监控事件

4. 编写脚本并设置后台开机运行

[lu01@localhost bin]$ cat rsync_ inotify.sh

#!/bin/bash

##by www.linuxfan.cn 2016-11-25

DIR=/var/www/html/

RSYNC="rsync -azH --delete $DIR ru01@192.168.100.151:$DIR"

INOTIFY="inotifywait -mrq -e modify,move,create,attrib,delete $DIR"

$INOTIFY |while read DIRECTORY EVENT FILE;do

$RSYNC

done

/home/lu01/bin/rsync_inotify.sh & ##后台运行

注:rsync+inotify只在上行同步使用


案例:下载

备份源操作:

mkdir /opt/data

touch /opt/data/{1..9}.txt

useradd r_get

echo 123123 |passwd --stdin r_get

rpm -qa rsync ##确认已经安装rsync软件

netstat -uptln |grep 22

确认r_get用户对/opt/data有读权限

发起端操作:

rsync -avzH r_get@192.168.100.151:/opt/data/ /tmp ##下载

rsync -avzH r_get@192.168.100.151:/opt/data /tmp ##对比差异

rsync -avzH r_get@192.168.100.151:/opt/data/ /tmp --delete ##保证数据一致,下行同步以同步源为依据

案例:上传

备份源操作:

mkdir /opt/data_bak

useradd r_put

echo 123123 |passwd --stdin r_put

setfacl -m u:r_put:rwx /opt/data_bak ##确保用户对目标目录有写入权限

getfacl /opt/data_bak

确保rsync和sshd正常



发起端操作:

mkdir /data

touch /data/{1..9}.avi

rsync -avzH /data r_put@192.168.100.151:/opt/data_bak


rsync -avzH /data/ r_put@192.168.100.151:/opt/data_bak


rsync -avzH /data/ r_put@192.168.100.151:/opt/data_bak --delete


在备份源上验证结果。


案例:ssh密钥对认证后rsync同步

ssh-keygen -t rsa

ssh-copy-id r_get@192.168.100.151 ##给下载用户上传公钥匙

ssh-copy-id r_put@192.168.100.151

ssh r_get@192.168.100.151 ##登录验证,r_put同理

执行rssync同步验证:

vi /root/bin/rsync.sh

#!/bin/bash

rsync -avzH /data/ r_put@192.168.100.151:/opt/data_bak --delete

rsync -avzH r_get@192.168.100.151:/opt/data/ /tmp --delete

grep rsync /var/spool/cron/root

if [ $? -ne 0 ];then

echo "30 0 * * 6 /root/bin/rsync.sh &>/var/log/rsync.log" >/var/spool/cron/root

:wq

chmod +x /root/bin/rsync.sh


2.inotify+rsync实时同步:上行同步

1)安装inotify-tools

tar zxvf inotify-tools-*.tar.gz -C /usr/src/

cd /usr/src/inotify-tools-*/

./configure &&make &&amake install

ls /usr/local/bin/inotify*

2)inotify的使用:

vi /etc/sysctl.conf

fs.inotify.max_queued_envents = 16384 ##监控事件队列数

fs.inotify.max_user_instances = 1024 ##监控实例数

fs.inotify.max_user_watches = 1048576 ##监控的文件数量

:wq

sysctl -p

inotifywait -mrq -e modify,create,attrib,move,delete /root/data ##-m持续监控,r递归目录,q简化输出,-e指定监控事件:modify修改、create创建、attrib权限修改、move移动、delete删除;在其他终端操作文件,查看变化

vi rsync_inotify.sh ##实时同步脚本

#!/bin/bash

RSYNC="rsync -avzH /root/data/ r_put@192.168.100.151:/opt/data_bak/ --delete"

INT_CMD="inotifywait -mrq -e modify,create,move,delete,attrib /root/data/"

$INT_CMD |while read DIRECOTRY EVENT FILE;do

$RSYNC

done

:wq


chmod +x rsync_inotify.sh

rsync_inotify.sh & ##启动脚本

测试验证。


同步 目录 权限 监控 数据 用户 文件 备份 目标 脚本 上行 验证 事件 实例 案例 递归 登陆 安全 内容 内核 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 互联网科技工作委员会副主任毛军 互联网最新的科技 互联网通讯科技 北京互联网科技公司 狮子座互联网科技 中国互联网科技发展 善班互联网科技有限公司 联恩商钥互联网科技有限公司 蓝色互联网科技 福州新华互联网科技学校 知乎 互联网科技创新服务 语蝶互联网科技有限公司 广州新华互联网科技学校电竞方面 互联网企业科技类企业如何做账 厦门江牛科技互联网 郑州欣桑互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 易租星互联网科技有限公司 前海云享互联网科技 伟宏互联网科技 合肥互联网科技公司 狮子座互联网科技有限公司 互联网科技logo设计 互联网公司会议桌创意科技软装饰 中国最先进互联网科技公司 厦门千工互联网科技有限公司 南博望互联网科技有限公司 长沙易易互联网科技有限公司 武汉亿视互联网科技有限公司
0