rsync
Rsync同步文件
默认端口 873
Windows客户端使用的cwRsync 6.1.0 可以在官网下载
复制https://www.itefix.net/cwrsync
linux端可以使用yum install -y rsync直接安装,也可以在官网http://rsync.samba.org 下载最新源码或二进制包安装。
文件流向
复制rsync -av /root/sh/a/ /root/sh/b/
->
拉取和推送都是同一个命令 只是文件流向
关于文件的pull和push
建议备份机器拉去要被备份机器的文件 可以减轻 生产机器的压力
看侧重于哪一方 pull 和push 都可以
关于文件夹和文件问题
复制text 和 text/
一代表 同步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
设置守护进程
复制rsync --daemon
查看是否运行
复制netstat -luntp
客户机 部署完成!
接下来部署用来备份的机
复制rsync -avz suser@121.43.149.217::dir1 /root/rsyncfile/
可以正常使用但是还是需要输入密码,可以在备份机指定密码
复制echo "123456" > /etc/rsyncd.passwd
记得修改密码文件的权限
复制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 显示帮助信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!