Linux搭建rsync备份服务器备份
环境:
1台rsync备份服务器,IP:10.0.0.188
1台rsync备份客户端,IP:10.0.0.51
备份数据需注意:
1. 在业务低谷时间进行备份
2. 进行备份限速
一、搭建rsync备份服务器
1. 查看rsyncd服务配置帮助文件(可忽略)
man rsyncd.conf
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
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客户端
1. rsync的基本用法,更多请见:http://www.samba.org/ftp/rsync/rsync.html
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
静静的学习一阵子儿...