环境:
1台rsync备份服务器,IP:10.0.0.188
1台rsync备份客户端,IP:10.0.0.51
备份数据需注意:
1. 在业务低谷时间进行备份
2. 进行备份限速
一、搭建rsync备份服务器
1. 查看rsyncd服务配置帮助文件(可忽略)
2. 查看rsync安装包,如无则安装
rpm -qa | grep "rsync"
yum install rsync -y
3. 添加rsync服务的用户,管理本地目录的
useradd rsync -s /sbin/nologin -M
id rsync
4. 创建并配置/etc/rsyncd.conf配置文件
cat >>/etc/rsyncd.conf<<EOF
##rsync.config____________start
#created by Caiyun 20190411
################ rsyncd.conf start ###################
# 用户 远端的命令要使用rsync访问共享目录
uid = rsync
# 用户组
gid = rsync
# 安全相关
use chroot = no
# 最大连接数
max connections = 200
# 超时时间
timeout = 300
# 进程对应的进程号文件
pid file = /var/run/rsyncd.pid
# 锁文件
lock file = /var/run/rsyncd.lock
# 日志文件 出错
log file = /var/log/rsyncd.log
# ========================================================================================
# 备份模块名称
[backup]
# 服务器端提供访问的目录
path = /backup
# 忽略错误
ignore errors
# 可写
read only = false
# 不能列表,如ls等功能
list = false
# 允许ip
# hosts allow = 172.16.1.0/24
# 禁止ip(一般和allow二选一)
# hosts deny = 0.0.0.0/32
# 服务虚拟用户
auth user = rsync_backup
# 密码文件
secrets file = /etc/rsync.password
##rsync.config______________end
EOF
/etc/rsyncd.conf
5. 根据rsyncd.conf的auth users配置账户和secrets file参数生成rsync.password密码文件,密码文件基于系统明文所以要限制其权限
echo "rsync_backup:123456" >>/etc/rsync.password
cat /etc/rsync.password
chmod 600 /etc/rsync.password
ls -l /etc/rsync.password
6. 创建共享的目录并授权rsync服务管理
mkdir /backup -p
chown rsync.rsync -R /backup
ls -ld /backup/
7. 启动rsync服务并检查启动成功与否
rsync --daemon
ps -ef|grep rsync
lsof -i :873
netstat -lntup|grep 873
8. 加入开机自启动
cat >>/etc/rc.local<<EOF
# start rsync service
rsync --daemon
EOF
二、配置rsync客户端
NAME
rsync — 一种快速,多功能,远程(和本地)文件复制工具(a fast, versatile, remote (and local) file-copying tool)
Usage: rsync [OPTION]... SRC [SRC]... DEST
or rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
or rsync [OPTION]... [USER@]HOST:SRC [DEST]
or rsync [OPTION]... [USER@]HOST::SRC [DEST]
or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
常用选项
-v,--verbose 详细模式输出,传输时的进度等信息
-z,--compress 传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩
-a,--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rtopgDl
==================================================================
-r,--recursive 对子目录以递归模式,即目录下所有文件都同样传输,注意小写r
-t,--times 保持文件时间信息
-o,--owner 保持文件属主信息
-p,--perms 保持文件权限
-g,--group 保持文件属组信息
-P,--progress 显示同步的过程及传输时的进度等信息
-D,--devices 保持设备的文件信息
-l,--links 保留软链接
-e,--rsh=COMMAND 使用的信道协议,指定替代rsh的shell程序,例如:ssh
--exclude=PATTERN 指定排除不需要传输的文件模式(和tar参数一样)
--exclude-from=file 文件名所在的目录文件(和tar参数一样)
--bwlimit=RATE 限速
--delete 让目标目录DST和源目录SRC数据一致
--password-file=FILE 从FILE读取守护程序访问密码
rsync常见用法
# 将本地/backup/下文件拷贝到rsync服务器/backup/下的两种方法
rsync -avz /backup/ rsync_backup@10.0.0.188::backup/ --password-file=/etc/rsync.password
rsync -avz /backup/ rsync://rsync_backup@10.0.0.188/backup/ --password-file=/etc/rsync.password
2. 查看rsync安装包,如无则安装
rpm -qa | grep "rsync"
yum install rsync -y
3. 创建rsync密码验证文件/etc/rsync.password并限权
echo "123456" >>/etc/rsync.password
cat /etc/rsync.password
chmod 600 /etc/rsync.password
ls -l /etc/rsync.password
4. 创建/backup目录,添加test.txt文件进行测试
mkdir /backup -p
echo "https://www.cnblogs.com/caiyundo" >/backup/test.txt
5. 测试
rsync -avz /backup/ rsync_backup@10.0.0.188::backup/ --password-file=/etc/rsync.password