准备环境
rsync服务端 backup 10.0.0.41 172.16.1.41
rsync客户端 nfs01 10.0.0.31 172.16.1.31
rsync服务端配置文件
rsyncd.conf
Rsync server
created by oldboy 15:01 2009-6-5
rsyncd.conf start##
fake super = yes
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 10.0.0.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[data]
comment = www by old0boy 14:18 2012-1-13
path = /data
添加 rsync虚拟用户
[root@backup ~]# id rsync
id: rsync: no such user
[root@backup ~]# useradd -s /sbin/nologin -M rsync
[root@backup ~]# grep rsync /etc/passwd
rsync:x:1001:1001::/home/rsync:/sbin/nologin
共享目录 /data 修改所有者
[root@backup ~]# mkdir -p /data
[root@backup ~]# ll -d /data
drwxr-xr-x 2 root root 6 May 20 15:59 /data
[root@backup ~]# chown rsync.rsync /data/
[root@backup ~]# ll -d /data/
drwxr-xr-x 2 rsync rsync 6 May 20 15:59 /data/
创建密码文件
[root@backup ~]# echo 'rsync_backup:123456' >/etc/rsync.password
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# ll /etc/rsync.password
-rw------- 1 root root 20 May 20 16:01 /etc/rsync.password
[root@backup ~]# cat /etc/rsync.password
rsync_backup:123456
检查
查用户
grep rsync /etc/passwd
查目录
ll -d /data
查密码
ll /etc/rsync.password
cat /etc/rsync.password
启动
[root@backup ~]# systemctl restart rsyncd
检查
[root@backup ~]# ps -ef |grep rsync
root 9749 1 0 16:12 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
root 9751 9490 0 16:13 pts/1 00:00:00 grep --color=auto rsync
[root@backup ~]# ss -lntup|grep rsync
tcp LISTEN 0 5 :873 : users:(("rsync",pid=9749,fd=3))
tcp LISTEN 0 5 :::873 ::: users:(("rsync",pid=9749,fd=5))
secrets file must be owned by root when running as root (see strict modes)
必须属于 root
[root@backup ~]# ll /etc/rsync.password
-rw------- 1 rsync rsync 20 May 20 16:49 /etc/rsync.password
老男孩教育59期-rsyncd.conf rsync服务端配置文件详解
https://www.processon.com/view/link/5ce258d4e4b0f0ee7b0cb575
https://www.processon.com/view/link/5ce271dae4b0e03e42153e63
老男孩教育-rsync服务端-uid gid auth users
rsync守护进程模式 执行的流程
企业案例:rsync上机实战考试题:
web01 10.0.0.7
backup 10.0.0.41
某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份。要求如下:
每天晚上12点整在Web服务器A(web01 )上打包备份网站程序目录并通过rsync命令推送到服务器B(backup)上备份保留
(备份思路可以是先在本地按日期打包,然后再利用rsync推到备份服务器上)。
rsync守护进程模式
定时任务 (脚本)
具体要求如下:
1)Web服务器A和备份服务器B的备份目录必须都为/backup。 #扩展要求/backup/ip地址命名目录中
2)Web服务器站点目录假定为(/var/www/html)。
3)Web服务器本地仅保留7天内的备份。
4)备份服务器上每周六的数据都保留,其他备份仅保留180天备份。
5)备份服务器上检查备份结果是否正常(备份内容变?),并将每天的备份结果发给管理员信箱。
发邮件:
1.注册邮箱 163
2.保证 postfix 邮件服务运行
总结:
- rsync守护进程模式 部署
- 排错流程 (积累错误)
- rsync多模块
- 全网备份(web01 bakcup )
备份思考? 什么内容需要备份。
##rsyncd.conf start## -- 注释信息
uid = rsync -- 管理备份目录(属主信息是rsync)
gid = rsync -- 管理备份目录(属组信息是rsync)
port = 873 -- 守护进程服务端口信息
#fake super = yes -- ???
use chroot = no -- 安全的配置
max connections = 200 -- 同时可以有多少客户端连接rsync服务器
timeout = 300 -- 超时时间,显示空闲连接存活时间
pid file = /var/run/rsyncd.pid --- 保存进程pid号码信息
lock file = /var/run/rsync.lock --- 真正的限制同时的连接数
log file = /var/log/rsyncd.log --- rsync程序日志文件
ignore errors -- 在备份传输数据时,一些不严重问题先进行忽略
read only = false -- 备份目录设置为可读可写
list = false -- 在客服端上可以显示服务端的所有模块信息(建议关闭)
hosts allow = 172.16.1.0/24 --- 设置允许哪些主机或网段可以向备份服务器存储数据(白名单)
hosts deny = 0.0.0.0/32 --- 设置禁止哪些主机或网段可以向备份服务器存储数据(黑名单)
auth users = rsync_backup --- 认证用户
secrets file = /etc/rsync.password --- 认证用户密码文件(信息:rsync_backup:oldboy123)
[backup] --- 模块信息
comment = "backup dir by oldboy" --- 模块注释说明信息
path = /backup --- 定义一个备份目录