rsync全网备份实施计划
第1章 基本备份要求
已知 3 台服务器主机名分别为 web01、backup 、nfs01,主机信息见下表:
服务器说明 | 外网 IP(NAT) | 内网 IP(NAT) | 主机名称 |
nginx web 服务器 | 10.0.0.8/24 | 172.16.1.8/24 | web01 |
NFS 存储服务器 | 10.0.0.31/24 | 172.16.1.31/24 | nfs01 |
rsync 备份服务器 | 10.0.0.41/24 | 172.16.1.41/24 | backup |
要求:每天晚上00点整在 Web 服务器上打包备份系统配置文件、网站程序目录及访问日志并通过 rsync 命令推送备份服务器 backup 上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器 backup 上),NFS 存储服务器同 Web 服务器,实际工作中就是全部的服务器。
1.1 具体要求如下:
(1)所有服务器的备份目录必须都为/backup。
(2)要备份的系统配置文件包括但不限于:
a.定时任务服务的配置文件(/var/spool/cron/root)(适合 web 和 nfs 服务器)
b.开机自启动的配置文件(/etc/rc.local)(适合 web 和 nfs 服务器)。
c.日常脚本的目录 (/server/scripts)。
d.防火墙 iptables 的配置文件(/etc/sysconfig/iptables)。
e.自己思考下还有什么需要备份呢?
(3)Web 服务器站点目录假定为(/var/html/www)。
(4)Web服务器A访问日志路径假定为(/app/logs)。
(5)Web 服务器保留打包后的 7 天的备份数据即可(本地留存不能多于 7 天,因为太多硬盘会满)。
(6)备份服务器上,保留每周一的所有数据副本,其它要保留 6 个月的数据副本。
(7)备份服务器上要按照备份数据服务器的内网 IP为目录保存备份,备份的文件按照时间名字保存 。
(8)*需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结。
第2章 环境准备
2.1 服务器配置
服务器说明 | 外网 IP(NAT) | 内网 IP(NAT) | 主机名称 |
nginx web 服务器 | 10.0.0.8/24 | 172.16.1.8/24 | web01 |
NFS 存储服务器 | 10.0.0.31/24 | 172.16.1.31/24 | nfs01 |
rsync 备份服务器 | 10.0.0.41/24 | 172.16.1.41/24 | backup |
上图所示三台服务器的环境都是一致的,都是centos.6.9 64位系统,具体配置如下所示。
[root@nfs01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@nfs01 ~]# uname -r 2.6.32-696.el6.x86_64
项目的实施离不开良好的项目规划,我们应该提前设置好内外IP地址和主机名称,关于怎么设置服务器内外IP地址和主机名称,这里不再说明,请自行百度。在此,请确保所有的主机能够相互的ping通。能够实现内网之间的相互通讯。还有外网能够下载安装部署软件,最后公司内部拥有自己yum仓库。
第3章 安装部署
3.1 服务端部署
第一部分:配置rsync服务端(将服务端配置到backup服务器上)
第一个里程碑:软件是否存在
[root@backup tmp]# rpm -qa|grep rsync
rsync-3.0.6-12.el6.x86_64
第二个里程碑:进行软件服务配置
[root@backup tmp]# ll /etc/rsyncd.conf ls: cannot access /etc/rsyncd.conf: No such file or directory vim /etc/rsyncd.conf #rsync_config #created by HQ at 2017 #rsyncd.conf start 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 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 [backup] comment = "backup dir by oldboy" path = /backup
第三个里程碑:创建rsync服务管理用户
useradd -s /sbin/nologin -M rsync
第四个里程碑:创建数据备份存储目录
mkdir /backup chown -R rsyn.rsync /backup
第五个里程碑:创建认证用户密码文件
echo "rsync_backup:admin.123" >/etc/rsync.password chmod 600 /etc/rsync.password
第六个里程碑:启动rsync服务
rsync –daemon
至此:服务端配置完成
3.2 客户端部署
3.2.1 nginx web01客户端部署
第一个里程碑:检查web01主机软件是否存在
[root@web01 tmp]# rpm -qa|grep rsync rsync-3.0.6-12.el6.x86_64
第二个里程碑:在web01主机建立认证文件
echo "admin.123" >/etc/rsync.password chmod 600 /etc/rsync.password
第三个里程碑:web01主机数据传输到backup主机测试测试传输
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST 交互式:rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup 非交互式:rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
3.2.2 NFS nfs01客户端部署
第一个里程碑:检查web01主机软件是否存在
[root@nfs01 tmp]# rpm -qa|grep rsync rsync-3.0.6-12.el6.x86_64
第二个里程碑:在web01主机建立认证文件
echo "admin.123" >/etc/rsync.password chmod 600 /etc/rsync.password
第三个里程碑:web01主机数据传输到backup主机测试测试传输
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST 交互式:rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup 非交互式:rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
这里第一步客户端和服务端的rsync的安装配置都已经完成了。