rsync远程同步

1.rsync远程同步

rsync远程同步:是一个开源的快速备份的工具,可以在不同主机之间同步整个目录

2.rsync的特点

拷贝文件,连接文件,设备

可以保持源文件或者目录的权限不变,时间,软硬连接 所有者 所在组 等均可以保持不变

可以实现增量同步,只同步变化的数据,数据传输效率很高

支持匿名认证

3.rsync命令的选项

-r:递归模式,目录包含子目录里面的所有文件

-l:可以复制链接文件,软连接

-v:显示同步过程中的详细信息

-z:传输文件时,进行压缩

-a:归档模式,保留文件的权限,属性等等

-p:保留文件的权限标记(所有者 所在组)

-t:保留时间标记(时间戳)

-g:保留文件的所在组(管理员)

-o:保留文件的所在者(管理员)

-H:保留硬连接

-D:保留设备文件和其他特殊文件

--delete:删除目标位置有,但是原始位置没有的文件

4.同步的方式

下行同步

从源端同步到客户端

上行同步

从客户端同步到源端

5.实验

所有:

systemctl stop firewalld

setenforce 0

test1:

vim /etc/rsyncd.conf

vim /etc/rsyncd_users.db

backuper:123456

chmod 600 /etc/rsyncd_users.db

cd /opt

mkdir test

chmod 777 test/

rsync --daemon

netstat -antp | grep rsync

kill $(cat /var/run/rsyncd.pid)

rsync --daemon

cd test

touch 123 456 789

echo 123 > 123

echo 456 > 456

echo 789 > 789

test2:

rsync -avz backuper@192.168.233.10::test /opt

rsync 发起同步命令

-avz 保留文件权限 v 显示同步过程中的详细信息 z 传输文件进行压缩

123456

echo "123456" > /etc/server.pass

root@localhost opt\]# chmod 600 /etc/server.pass ![](https://file.jishuzhan.net/article/1726390471699206145/2af8b7b554653ae957ad7f693023f08a.webp) test1: echo 123 \>\> 123 test2 rsync -avz --password-file=/etc/server.pass backuper@192.168.233.10::test /opt test2 tar -xf inotify-tools-3.14.tar.gz cat /proc/sys/fs/inotify/max_queued_events #监控事件队列 ![](https://file.jishuzhan.net/article/1726390471699206145/5092ed82246e2b9f7377b8f37a606f20.webp) cat /proc/sys/fs/inotify/max_user_instances #最多监控的实例 cat /proc/sys/fs/inotify/max_user_watches #每个实例最多监控的文件 vim /etc/sysctl.conf fs.inotify.max_queued_events = 16384 fs.inotify.max_user_instances = 1024 fs.inotify.max_user_watches = 1048576 sysctl -p ##rsync 同步速度很快,适合同步大文件,可以结合数据库同步使用。 cd inotify-tools-3.14 ./configure make \&\& make install 工具 ##inotify通知接口,可以用来监控文件系统的各种变化情况,文件存取,删除 移动 修改都可以被监控 inotify cd .. cd /opt mkdir test inotifywait -mrq -e modify,create,move,delete /opt/test -m :表示持续监控 -r 递归整个目录 -q 信息提示 -e 指定监控的事件,多个事件用,隔开 mkdir data cd data touch gq wdf wh yst cd .. ls chmod 777 data/ rsync -azH --delete --password-file=/etc/server.pass /opt/data backuper@192.168.233.10::test/ rsync -azH --delete --password-file=/etc/server.pass /opt/data backuper@192.168.66.15::test/ vim inotify.sh #!bin/bash CMD="inotifywait -mrq -e modify,create,move,delete /opt/data" rsync_cmd="rsync -azH --delete --password-file=/etc/server/pass /opt/data backuper@192.168.233.10::test/' $CMD \| while read DIRECTORY EVENT FILE do if \[ $(pgrep rsync \| wc -l ) -gt 0

then

$rsync_cmd

fi

done

chmod 777 inotify.sh

chmod +x /etc/rc.d/rc.local

echo '/opt/inotify.sh' >> /etc/rc.d/rc.local

crontab -e -u root

* * */2 * * /opt/inotify.sh

mkdir test1

cd test1

ls

touch {1..5000}

在文件数量较多的情况下,比如百万和千万级别的文件 , rm -rf 很慢

rysnc可以实现快速删除大量文件

mkdir /home/blank

rsync --delete-before -a -H -v --progres --stats /home/blank /opt/test

--delete-before:在传输的过程中进行删除

-a 归档模式

-H 硬连接

-v 输出过程信息

--progress 显示传输的过程

--stats 给出文件的传输状态

相关推荐
艾伦_耶格宇1 分钟前
【ACP】阿里云云计算高级运维工程师--ACP
运维·阿里云·云计算
一位摩羯座DBA40 分钟前
Redhat&Centos挂载镜像
linux·运维·centos
计算机毕设定制辅导-无忧学长1 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
cui_win2 小时前
【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
linux·运维·网络
风清再凯2 小时前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
深圳安锐科技有限公司2 小时前
深圳安锐科技发布国内首款4G 索力仪!让斜拉桥索力自动化监测更精准高效
运维·安全·自动化·自动化监测·人工监测·桥梁监测·索力监测
猫头虎2 小时前
猫头虎 AI工具分享:一个网页抓取、结构化数据提取、网页爬取、浏览器自动化操作工具:Hyperbrowser MCP
运维·人工智能·gpt·开源·自动化·文心一言·ai编程
cocologin4 小时前
RIP 技术深度解析
运维·网络·网络协议
cv高级工程师YKY4 小时前
SRE - - PV、UV、VV、IP详解及区别
大数据·服务器·uv
庸子4 小时前
基于Jenkins和Kubernetes构建DevOps自动化运维管理平台
运维·kubernetes·jenkins