rsync

Rsync同步文件

默认端口 873

Windows客户端使用的cwRsync 6.1.0 可以在官网下载

复制https://www.itefix.net/cwrsync

image-20220222085535085

linux端可以使用yum install -y rsync直接安装,也可以在官网http://rsync.samba.org 下载最新源码或二进制包安装。

文件流向

复制rsync -av /root/sh/a/ /root/sh/b/
 ->
 拉取和推送都是同一个命令 只是文件流向

关于文件的pull和push

建议备份机器拉去要被备份机器的文件 可以减轻 生产机器的压力

看侧重于哪一方 pull 和push 都可以

关于文件夹和文件问题

复制texttext/
一代表 同步text这个文件夹
二代表 同步text下的所有文件
复制rsync -avz -e 'ssh -p 22' /root/rsyncfile/ root@82.157.172.66:/root/rsyncfile/

这种方式要输入密码还有一种以守护进程的方式同步

在生产环境创建客户端

rsync的配置文件: /etc/rsyncd.conf(默认不存在)

复制# vim /etc/rsyncd.conf 
pid file=/var/lock/subsys/rsync.pid
lock file=/var/lock/subsys/rsync.lock
uid=361
gid=361
log file=/var/log/rsync.log
timeout=100

[dir1]
path=/data/backup
max connections=100
use chroot=yes
read only=no
list=yes
auth users=lgl
secrets file=/etc/rsync.pwd
hosts allow=192.168.31.0/24

创建用户同步的用户

复制echo "lgl:1" > /etc/rsyncd.passwd

查看权限

复制ll /etc/rsyncd.passwd

设置权限

复制chmod 600 /etc/rsyncd.passwd

image-20220224211632970

设置守护进程

复制rsync --daemon

查看是否运行

复制netstat -luntp

image-20220224211700480

客户机 部署完成!

接下来部署用来备份的机

复制rsync -avz suser@121.43.149.217::dir1 /root/rsyncfile/

可以正常使用但是还是需要输入密码,可以在备份机指定密码

复制echo "123456" > /etc/rsyncd.passwd

记得修改密码文件的权限

image-20220224214658602

复制rsync -avz suser@121.43.149.217::dir1 /root/rsyncfile/ --password-file=/etc/rsyncd.passwd

完成!

可以拉也可以推

或者也可以使用rsync协议

复制rsync -avz rsync://suser@121.43.149.217/dir1 /root/rsyncfile/ --password-file=/etc/rsyncd.passwd

windows下

复制cwRsync 不能直接认识本地盘,需要使用/cygdrive/

/cygdrive/C/ideaCode/target/es-demo-0.0.1-SNAPSHOT.jar这个代表的是C:/ideaCode/target/es-demo-0.0.1-SNAPSHOT.jar

如果报错

复制rsync: command not found
都要装下reync
两台电脑都要安装rsync
yum -y install rsync
复制选项    说明
-a, ––archive    归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于 -rlptgoD (注意不包括 -H)
-r, ––recursive    对子目录以递归模式处理
-l, ––links    保持符号链接文件
-H, ––hard-links    保持硬链接文件
-p, ––perms    保持文件权限
-t, ––times    保持文件时间信息
-g, ––group    保持文件属组信息
-o, ––owner    保持文件属主信息 (super-user only)
-D    保持设备文件和特殊文件 (super-user only)
-z, ––compress    在传输文件时进行压缩处理
––exclude=PATTERN    指定排除一个不需要传输的文件匹配模式
––exclude-from=FILE    从 FILE 中读取排除规则
––include=PATTERN    指定需要传输的文件匹配模式
––include-from=FILE    从 FILE 中读取包含规则
––copy-unsafe-links    拷贝指向SRC路径目录树以外的链接文件
––safe-links    忽略指向SRC路径目录树以外的链接文件(默认)
––existing    仅仅更新那些已经存在于接收端的文件,而不备份那些新创建的文件
––ignore-existing    忽略那些已经存在于接收端的文件,仅备份那些新创建的文件
-b, ––backup    当有变化时,对目标目录中的旧版文件进行备份
––backup-dir=DIR    与 -b 结合使用,将备份的文件存到 DIR 目录中
––link-dest=DIR    当文件未改变时基于 DIR 创建硬链接文件
––delete    删除那些接收端还有而发送端已经不存在的文件
––delete-before    接收者在传输之前进行删除操作 (默认)
––delete-during    接收者在传输过程中进行删除操作
––delete-after    接收者在传输之后进行删除操作
––delete-excluded    在接收方同时删除被排除的文件
-e, ––rsh=COMMAND    指定替代 rsh 的 shell 程序
––ignore-errors    即使出现 I/O 错误也进行删除
––partial    保留那些因故没有完全传输的文件,以是加快随后的再次传输
––progress    在传输时显示传输过程
-P    等价于 ––partial ––progress
––delay-updates    将正在更新的文件先保存到一个临时目录(默认为 “.~tmp~”),待传输完毕再更新目标文件
-v, ––verbose    详细输出模式
-q, ––quiet    精简输出模式
-h, ––human-readable    输出文件大小使用易读的单位(如,K,M等)
-n, ––dry-run    显示哪些文件将被传输
––list-only    仅仅列出文件而不进行复制
––rsyncpath=PROGRAM    指定远程服务器上的 rsync 命令所在路径
––password-file=FILE    从 FILE 中读取口令,以避免在终端上输入口令,通常在 cron 中连接 rsync 服务器时使用
-4, ––ipv4    使用 IPv4
-6, ––ipv6    使用 IPv6
––version    打印版本信息
––help    显示帮助信息
posted @   李广龙  阅读(252)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
主题色彩
点击右上角即可分享
微信分享提示