rsync命令参数详细说明
-v, --verbose 显示详细的传输信息
-a, --archive 命令的归档参数 包含: rtopgDl
-r, --recursive 递归参数
-t, --times 保持文件属性信息时间信息不变(修改时间)
-o, --owner 保持文件属主信息不变
-g, --group 保持文件属组信息不变
PS: 如何让-o和-g参数生效,需要将配置文件uid和gid改为root,需要将 fake super参数进行注释
-p, --perms 保持文件权限信息不变
-D, 保持设备文件信息不变
-l, --links 保持链接文件属性不变
-L, 保持链接文件数据信息不变
-P, 显示数据传输的进度信息
–exclude=PATTERN 排除指定数据不被传输
–exclude-from=file 排除指定数据不被传输(批量排除)
–bwlimit=RATE 显示传输的速率 100Mb/8=12.5MB
企业案例: 马路(带宽-半) 人人网地方
–delete 无差异同步参数(慎用)
我有的你也有,我没有的你也不能有
一、服务端配置
1、下载安装软件
[root@ kitty ~]# yum install -y rsync
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.163.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
updates/7/x86_64/primary_db | 7.1 MB 00:02
Package rsync-3.1.2-10.el7.x86_64 already installed and latest version
Nothing to do
2、编写配置文件
[root@ kitty ~]# vim /etc/rsyncd.conf
uid = rsync --- 指定管理备份目录的用户
gid = rsync --- 指定管理备份目录的用户组
port = 873 --- 定义rsync备份服务的网络端口号
fake super = yes --- 将rsync虚拟用户伪装成为一个超级管理员用户
use chroot = no --- 和安全相关的配置
max connections = 200 --- 最大连接数 同时只能有200个客户端连接到备份服务器
timeout = 300 --- 超时时间(单位秒)
pid file = /var/run/rsyncd.pid --- 记录进程号码信息 1.让程序快速停止进程 2. 判断一个服务是否正在运行
lock file = /var/run/rsync.lock --- 锁文件
log file = /var/log/rsyncd.log --- rsync服务的日志文件 用于排错分析问题
ignore errors --- 忽略传输中的简单错误
read only = false --- 指定备份目录是可读可写
list = false --- 使客户端可以查看服务端的模块信息
hosts allow = 192.168.149.137/22 --- 允许传输备份数据的主机(白名单)
hosts deny = 0.0.0.0/32 --- 禁止传输备份数据的主机(黑名单)
auth users = rsync_backup --- 指定认证用户
secrets file = /etc/rsync.password --- 指定认证用户密码文件 用户名称:密码信息
[backup] --- 模块信息
comment = "backup dir by kitty"
path = /backup --- 模块中配置参数 指定备份目录
3、创建rsync服务的虚拟用户
[root@ kitty ~]# useradd rsync -M -s /sbin/nologin
4、创建备份服务认证密码文件 ,并且修改权限,以防别人看密码
[root@ kitty ~]# echo "rsync_backup:123456">/etc/password
[root@ kitty ~]# chmod 600 /etc/password
5、创建备份目录,同时修改属主属组
[root@ kitty ~]# mkdir /backup
[root@ kitty ~]# chown rsync.rsync /backup/
6、重启备份服务
[root@ kitty ~]# systemctl start rsyncd
[root@ kitty ~]# systemctl enable rsyncd
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
[root@ kitty ~]# systemctl status rsyncd
● rsyncd.service - fast remote file copy program daemon
Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-04-22 22:02:04 CST; 38s ago
Main PID: 2353 (rsync)
CGroup: /system.slice/rsyncd.service
└─2353 /usr/bin/rsync --daemon --no-detach
Apr 22 22:02:04 kitty systemd[1]: Started fast remote file ...
Apr 22 22:02:04 kitty rsyncd[2353]: Badly formed boolean in…".
Apr 22 22:02:04 kitty rsyncd[2353]: Badly formed boolean in…".
Apr 22 22:02:04 kitty rsyncd[2353]: params.c:Parameter() - …误
Apr 22 22:02:04 kitty rsyncd[2353]: Badly formed boolean in…".
Apr 22 22:02:04 kitty rsyncd[2353]: Badly formed boolean in…".
Apr 22 22:02:04 kitty rsyncd[2353]: rsyncd version 3.1.2 st...
Hint: Some lines were ellipsized, use -l to show in full.
二、客户端配置
1、创建一个密码文件,并修改权限。
[root@ kitty ~]# echo "123456" >/etc/rsync.password
[root@ kitty ~]# chmod 600 /etc/rsync.password
2、进行免交互传输数据测试
[root@ kitty ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
rsync守护进程名称语法
客户端做拉的操作: 恢复数据
Pull: rsync [OPTION…] [USER@]HOST::SRC… [DEST]
rsync [OPTION…] rsync://[USER@]HOST[:PORT]/SRC… [DEST]
客户端做退的操作: 备份数据
Push: rsync [OPTION…] SRC… [USER@]HOST::DEST
src: 要推送备份数据信息
[USER@]:指定认证用户信息
HOST: 指定远程主机的IP地址或者主机名称
::DEST: 备份服务器的模块信息