# Rsync

# rsync的作用

实现文件的备份

  • 备份位置可以是当前主机,也可以是远程主机
  • 备份过程可以是完全备份,也可以是增量备份

# rsync的认证方式

  • rsync有两种常用的认证方式,一种是rsync-daemon方式,另外一种是ssh方式
  • 在平时使用过程,我们使用最多的是rsync-daemon方式,这篇文章也只介绍rsync-daemon模式

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

'' (opens new window)

默认端口 873

linux端可以使用 yum install -y rsync 直接安装,也可以在 官网 (opens new window) 下载最新源码或二进制包安装。

# 文件流向

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

关于文件的pull和push

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

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

# 关于文件夹和文件问题

text  和 text/
一代表 同步text这个文件夹
二代表 同步text下的所有文件
rsync -avz -e 'ssh -p 22' /root/rsyncfile/ root@82.157.172.66:/root/rsyncfile/
1
2
3
4

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

配合脚本,待补充...

# windows下

cwRsync 不能直接认识本地盘,需要使用/cygdrive/
/cygdrive/C/ideaCode/target/es-demo-0.0.1-SNAPSHOT.jar这个代表的是C:/ideaCode/target/es-demo-0.0.1-SNAPSHOT.jar
1
2

这个代表,win服务,去拉取121服务器的文件保存到e/bf盘下

./rsync.exe -avPz --port 873 --password-file=/cygdrive/D/6789/cwrsync_6.2.4_x64_free/cwrsync_6.2.4_x64_free/cmi_password.txt    lgl@151.43.189.217::bf/ /cygdrive/E/bf
1

密码文件内容

选项    说明
-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    显示帮助信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

# 开机自启

... 有问题 启动不起来
1
Last Updated: 11/27/2023, 10:50:25 AM