ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day11.5

2022-05-21 15:31:06  阅读:159  来源: 互联网

标签:www day11.5 backup rsync data nfs root


day11.5

目录

实时同步与实时备份

主机名 wanIP lanIP 角色 部署服务
web03 10.0.0.9 172.16.1.9 nfs客户端 httpd、php、nfs
db01 10.0.0.51 172.16.1.8 nfs客户端 httpd、php、nfs
nfs 10.0.0.31 172.16.1.31 rsync客户端、nfs服务端 nfs、rsync、inotify
backup 10.0.0.41 172.16.1.41 rsync客户端、nfs服务端(备机) nfs、rsync

部署rsync

# 1.安装rsync
[root@backup ~]# yum install -y rsync

# 2.修改rsync的配置文件
[root@backup ~]# vim /etc/rsyncd.conf 
[root@backup ~]# cat /etc/rsyncd.conf 
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = welcome to oldboyedu backup!
path = /backup

[data]
comment = I love you !
path = /data

# 3.创建www用户和组
[root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

# 4.创建密码文件
[root@backup ~]# echo 'rsync_backup:123' > /etc/rsync.password

# 5.授权密码文件
[root@backup ~]# chmod 600 /etc/rsync.password

# 6.创建备份目录和实时同步目录
[root@backup ~]# mkdir /backup
[root@backup ~]# mkdir /data

# 7.授权备份目录和实时同步目录
[root@backup ~]# chown www.www /backup/
[root@backup ~]# chown www.www /data/

# 8.启动rsync并加入开机自启
[root@backup ~]# systemctl start rsyncd
[root@backup ~]# systemctl enable rsyncd

# 9.检查进程和端口
[root@backup ~]# ps -ef|grep [r]sync
root 8059 1 0 10:24 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
[root@backup ~]# netstat -lntup|grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 8059/rsync
tcp6 0 0 :::873 :::* LISTEN 8059/rsync

客户端部署

# 1.安装rsync和inotify
[root@nfs ~]# yum install -y rsync inotify-tools
# 2.测试数据推送
[root@nfs ~]# rsync -avz /tmp/ rsync_backup@172.16.1.41::nfs_backup
[root@nfs ~]# rsync -avz /tmp/ rsync_backup@172.16.1.41::nfs_data

部署nfs

# 服务端
# 1.安装nfs
[root@nfs ~]# yum install -y nfs-utils
[root@backup ~]# yum install -y nfs-utils

# 2.修改nfs配置文件
[root@nfs ~]# vim /etc/exports

# 共享目录   允许访问NFS服务端的网段 (可读可写,同步,任何用户都映射成nfs的匿名用户)
/data 172.16.1.0/24(rw,sync,anonuid=666,anongid=666,all_squash)

# 3.创建www用户和组
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

[root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

#  4.创建共享目录
[root@nfs ~]# mkdir /data
[root@backup ~]# mkdir /data

# 5.授权共享目录
[root@nfs ~]# chown www.www /data/
[root@backup ~]# chown www.www /data/

# 6.启动nfs服务并加入开机自启
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs
[root@backup ~]# systemctl start nfs
[root@backup ~]# systemctl enable nfs

# 7.检查配置是否生效
[root@nfs ~]# cat /var/lib/nfs/etab
[root@backup ~]# cat /var/lib/nfs/etab

# 8.检查进程和端口
[root@nfs ~]# ps -ef|grep [n]fs
[root@nfs ~]# netstat -lntup

部署nfs客户端

# 1.安装nfs客户端
[root@web03 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils
部署web网站
# 2.查看挂载点
[root@web03 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@db01 ~]# showmount -e 172.16.1.41
Export list for 172.16.1.41:
/data 172.16.1.0/24
[root@web03 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@db01 ~]# showmount -e 172.16.1.41
Export list for 172.16.1.41:
/data 172.16.1.0/24
# 3.测试挂载
[root@web03 ~]# mount -t nfs 172.16.1.41:/data /mnt
[root@db01 ~]# mount -t nfs 172.16.1.41:/data /media/

# 4.测试创建文件
[root@web03 ~]# touch /mnt/1.txt
[root@db01 ~]# ll /mnt/
total 0
-rw-r--r-- 1 666 666 0 May 20 10:51 1.txt
[root@web03 ~]# touch /media/1.txt
[root@db01 ~]# ll /media/
total 0
-rw-r--r-- 1 666 666 0 May 20 10:51 1.txt

部署web网站

# 1.安装httpd和php
[root@web03 ~]# yum install -y httpd php
[root@db01 ~]# yum install -y httpd php

# 2.修改httpd的配置文件
[root@web03 ~]# vim /etc/httpd/conf/httpd.conf
User www
Group www
[root@db01 ~]# vim /etc/httpd/conf/httpd.conf
User www
Group www

# 3.创建www用户和组
[root@db01 ~]# groupadd www -g 666
[root@db01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@web03~]# groupadd www -g 666
[root@web03 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

# 4.部署代码
[root@db01 ~]# cd /var/www/html/
[root@db01 html]# unzip kaoshi_modify.zip
[root@web03 ~]# cd /var/www/html/
[root@web03 html]# unzip kaoshi_modify.zip
# 5.创建用户上传目录
[root@db01 html]# mkdir /var/www/html/user_data
[root@web03 html]# mkdir /var/www/html/user_data
# 6.授权用户上传数据目录
[root@db01 html]# chown www.www /var/www/html/user_data
[root@web03 html]# chown www.www /var/www/html/user_data
# 7.启动httpd服务
[root@db01 html]# systemctl start httpd
[root@db01 html]# systemctl enable httpd
[root@web03 html]# systemctl start httpd
[root@web03 html]# systemctl enable httpd
# 8.检查进程和端口
[root@nfs ~]# ps -ef|grep [n]fs
[root@nfs ~]# netstat -lntup

# 9.浏览器访问
http://10.0.0.9/
http://10.0.0.51/

# 10.挂载用户上传数据目录
[root@db01 html]# mount -t nfs 172.16.1.31:/data /var/www/html/user_data
[root@web03 html]# mount -t nfs 172.16.1.31:/data /var/www/html/user_data

实时同步部署sersync

# 1.安装sersync的依赖
[root@nfs ~]# yum install -y rsync inotify-tools

# 2.下载sersync
[root@nfs ~]# wget
http://test.driverzeng.com/other/sersync2.5.4_64bit_binary_stable_final.tar.gz

# 3.创建安装目录
[root@nfs ~]# mkdir /application

# 4.解压sersync
[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /application/

# 5.改名
[root@nfs ~]# mv /application/GNU-Linux-x86/ /application/sersync-2.5.4

# 6.修改配置文件
[root@nfs ~]# vim /application/sersync-2.5.4/confxml.xml
inotifywait -mrq --format %w %f -e create,delete,attrib,close_write /data

1.将下面的false改成true
<inotify>
        <delete start="true"/>
        <createFolder start="true"/>
        <createFile start="true"/>
        <closeWrite start="true"/>
        <moveFrom start="true"/>
        <moveTo start="true"/>
        <attrib start="true"/>
        <modify start="true"/>
    </inotify>

2.修改推送数据的目录
<localpath watch="/data">

3.修改rsync服务端的IP地址和模块名
<remote ip="172.16.1.41" name="data"/>

4.修改rsync命令执行的选项
<commonParams params="-az --delete"/>

5.rsync命令认证,打开认证,修改匿名用户,密码文件
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.passwd"/>

# 6.创建密码文件
[root@nfs data]# echo '123' > /etc/rsync.passwd

# 7.授权密码文件
[root@nfs data]# chmod 600 /etc/rsync.passwd

# 8.启动sersync
[root@nfs sersync-2.5.4]# /application/sersync-2.5.4/sersync2 -rdo /application/sersync2.5.4/confxml.xml

上传文件

[root@db01 html]# ll user_data/
total 240
-rw-r--r-- 1 www www 150106 May 21 13:24 05_4.zip
-rw-r--r-- 1 www www  92242 May 21 13:30 66_66.pdf

[root@web03 html]# ll user_data/
total 240
-rw-r--r-- 1 www www 150106 May 21 13:24 05_4.zip
-rw-r--r-- 1 www www  92242 May 21 13:30 66_66.pdf

# 查看共享目录
[root@nfs ~]# ll /data/
total 240
-rw-r--r-- 1 www  www  150106 May 21 13:24 05_.zip
-rw-r--r-- 1 www  www   92242 May 21 13:30 66_66.pdf
# 查看备机同步目录
[root@backup ~]# ll /data/
total 240
-rw-r--r-- 1 www www 150106 May 21 13:24 05_4.zip
-rw-r--r-- 1 www www  92242 May 21 13:30 66_66.pdf
You have mail in /var/spool/mail/root

实时备份

# 1.编写客户端脚本
[root@nfs ~]# vim backup.sh 

dir="/data"
back_dir="/back"
name=`hostname`
iip=`/usr/sbin/ifconfig eth1|awk 'NR==2{print $2}'`
date=`date +%F`
export RSYNC_PASSWORD=123

# 创建备份目录
mkdir -p ${back_dir}

# 进入备份目录并压缩文件
cd ${dir} && tar zcf ${back_dir}/${name}_${iip}_${date}.tar.gz .

# 生成MD5校验文件
cd ${back_dir} && md5sum ${name}_${iip}_${date}.tar.gz > ${name}_${iip}_${date}.md5
# 推送数据到rsync服务端
rsync -avz ${back_dir}/ rsync_backup@172.16.1.41::backup

配置邮箱

# 1.安装mail
[root@backup ~]# yum install -y mailx

# 2.配置邮箱
[root@backup ~]# vim /etc/mail.rc
set from=253097001@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=253097001@qq.com
set smtp-auth-password=授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

# 3.编写服务端脚本
[root@backup ~]# vim md5.sh 

dir="/backup"

cd ${dir}/ && md5sum -c nfs_172.16.1.31_2022-05-21.md5 |mail -s "dd" 2794552827@qq.com

编写定时任务

# 客户端编写
[root@backup ~]# crontab -e
* * * * * /bin/sh /root/md5.sh & >/dev/null

# 服务端编写
[root@backup ~]# crontab -e
* * * * * /bin/sh /root/md5.sh & >/dev/null

标签:www,day11.5,backup,rsync,data,nfs,root
来源: https://www.cnblogs.com/wangchengww/p/16295183.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有