day11.5

day11.5

目录
  • 实时同步与实时备份
  • 部署rsync
  • 客户端部署
  • 部署nfs
  • 部署nfs客户端
  • 部署web网站
  • 实时同步部署sersync
  • 上传文件
  • 实时备份
  • 配置邮箱
  • 编写定时任务

实时同步与实时备份

主机名 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


2.修改推送数据的目录


3.修改rsync服务端的IP地址和模块名


4.修改rsync命令执行的选项


5.rsync命令认证,打开认证,修改匿名用户,密码文件


# 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

day11.5

[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

day11.5

# 查看共享目录
[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

相关推荐: 一文看懂 ZooKeeper ,面试再也不用背八股

ZooKeeper知识点总结 一、ZooKeeper 的工作机制 二、ZooKeeper 中的 ZAB 协议 三、数据模型与监听器 四、ZooKeeper 的选举机制和流程 本文将以如下内容为主线讲解ZooKeeper中的学习重点,包括 ZooKeeper 中…

发布者:糖太宗,转载请注明出处:https://www.qztxs.com/archives/uncategorized/8265

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年1月26日 下午5:39
下一篇 2023年1月26日 下午5:45

相关推荐

  • 今年只剩露营 赚钱了吗?

      四月的一个周末,阳光正好,微风不燥,小宇和新婚丈夫正在甜蜜地露营。他们坐在天幕下烧烤听歌看湖景,累了在帐篷里小憩,聊天畅谈,排遣不能远足旅行的郁闷心情。 营地位于北京平谷,一处远离闹市的湖畔,提供全套露营装备租赁服务,一天花费约1000元。“把天幕、帐篷、桌椅和烧烤工具买齐,会比这贵得多。”小宇说,周末露营的人太多,提前好几天才预定到位置。 这...

    2022年5月13日
    3200
  • 经常奶茶不离手?喝着喝着,这5个危害就“出来”了

    奶茶是很多年轻人都喜欢的饮料之一,但是很多年轻人控制不了自己的食欲。其实奶茶对我们的身体有很大的影响的,不能长期食用。那么,多喝奶茶有哪些危害呢?下面小编为大家介绍五大危害吧。 1、导致肥胖 奶茶中含有的奶精主要是植脂末、植脂乳,含有很多化学剂,然后制作成类似牛奶的饮品。奶茶深受很多年轻人的喜爱,因为他们不知道奶精含有反式脂肪酸,这是一种不易被人体消化吸收的...

    2022年5月13日
    1900
  • 搞定了!OAuth2使用验证码进行授权

    现在验证码登录已经成为很多应用的主流登录方式,但是对于OAuth2授权来说,手机号验证码处理用户认证就非常繁琐,很多同学却不知道怎么接入。 认真研究胖哥Spring Security OAuth2专栏的都会知道一个事,OAuth2其实不管资源拥有者是如何认证的,只要资源拥有者在授权的环节中认证了就可以了,至于你是验证码、账密,甚至是什么指纹虹膜都无所谓。 I...

    未分类 2022年5月28日
    2700
  • 一文看懂 ZooKeeper ,面试再也不用背八股

    ZooKeeper知识点总结 一、ZooKeeper 的工作机制 二、ZooKeeper 中的 ZAB 协议 三、数据模型与监听器 四、ZooKeeper 的选举机制和流程 本文将以如下内容为主线讲解ZooKeeper中的学习重点,包括 ZooKeeper 中的角色、ZAB协议、数据模型、选举机制、监听器原理以及应用场景等。会对相关的面试题或开发中常见内容,...

    2023年1月26日
    900
  • 守护线程和非守护线程区别

    守护线程与非守护线程 Java分为两种线程:用户线程和守护线程 所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。 守护线程和用户...

    未分类 2022年5月28日
    1000

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信