rsync nfs web01总结

要求

1.部署rsync服务端,部署rsync客户端(web01,nfs)

配合脚本,每天凌晨1点做备份

2.部署上传作业的代码(尝试)

3.部署nfs服务端(nfs,backup)部署nfs客户端(web01)

4.部署sersync,给nfs的共享存储目录,实时同步到backup服务器(解决单点故障)

所有的服务,都需要经过:

1.下载

2.安装

3.配置

4.启动

部署rsync服务端(172.16.1.41)

1)安装rsync

[root@backup ~]# yum install -y rsync

2)配置rsync

[root@backup ~]# vim /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
#####################################
[zls]
comment = welcome to oldboyedu backup!
path = /backup [nfs]
comment = welcome to oldboyedu backup!
path = /data

3)创建系统用户(www),为了和web nfs统一

[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.passwd
[root@backup ~]# chmod 600 /etc/rsync.passwd

5)创建目录

[root@backup ~]# mkdir /backup /data
[root@backup ~]# chown -R www.www /backup/ /data/
#检查
[root@backup ~]# ll -d /backup/ /data/
drwxr-xr-x 2 www www 6 Aug 7 16:56 /backup/
drwxr-xr-x 2 www www 6 Aug 7 16:56 /data/

6)启动rsync服务并加入开机自启

[root@backup ~]# systemctl start rsyncd
[root@backup ~]# systemctl enable rsyncd

部署rsync客户端(172.16.1.31、172.16.1.7)

1)安装rsync

[root@nfs ~]# yum install -y rsync
[root@web01 ~]# yum install -y rsync

2)免密码方式

#方式一:
[root@nfs ~]# echo '123' > /etc/rsync.pass
[root@nfs ~]# chmod 600 /etc/rsync.pass [root@web01 ~]# echo '123' > /etc/rsync.pass
[root@web01 ~]# chmod 600 /etc/rsync.pass [root@nfs ~]# rsync -avz /etc/passwd rsync_backup@172.16.1.41::zls --password-file=/etc/rsync.pass #方式二(推荐):
[root@nfs ~]# export RSYNC_PASSWORD=123
[root@web01 ~]# export RSYNC_PASSWORD=123
[root@nfs ~]# rsync -avz /etc/passwd rsync_backup@172.16.1.41::zls

部署web代码

1)安装httpd和php

[root@web01 ~]# yum install -y httpd php

2)创建用户

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

3)修改配置文件

[root@web01 ~]# vim /etc/httpd/conf/httpd.conf
User www
Group www

4)启动httpd并加入开机自启

[root@web01 ~]# systemctl start httpd
[root@web01 ~]# systemctl enable httpd
#检查
[root@web01 ~]# netstat -lntup|grep 80
tcp6 0 0 :::80 :::* LISTEN 10427/httpd
#检查启动用户
[root@web01 ~]# ps -ef|grep httpd
root 10427 1 0 17:09 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 10428 10427 0 17:10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 10429 10427 0 17:10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 10430 10427 0 17:10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 10431 10427 0 17:10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 10432 10427 0 17:10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

5)部署代码,将代码上传至httpd的站点目录

#查找站点目录
[root@web01 ~]# rpm -ql httpd|grep html
/var/www/html #进入站点目录,上传代码
[root@web01 ~]# cd /var/www/html/
[root@web01 html]# rz windows-提交作业代码.zip #安装unzip
[root@web01 html]# yum install -y unzip #解压代码
[root@web01 html]# unzip windows-提交作业代码.zip
Archive: windows-提交作业代码.zip
inflating: 1.png
inflating: 2.png
inflating: 3.png
inflating: bg.jpg
inflating: index.html
inflating: info.php
inflating: upload_file.php #授权
[root@web01 html]# chown -R www.www /var/www/html/ #修改用户上传文件的目录
[root@web01 html]# vim upload_file.php
$wen="/var/www/html/upload";

打开浏览器访问:提交作业

NFS服务端部署

1)安装nfs和rpcbind

[root@nfs ~]# yum install -y nfs-utils rpcbind

2)配置nfs

[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

3)创建www用户(uid和gid是666的用户)

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

4)创建共享目录/data并授权

[root@nfs ~]# mkdir /data
[root@nfs ~]# chown -R www.www /data/

5)启动服务并加入开机自启

[root@nfs ~]# systemctl start rpcbind nfs-server
[root@nfs ~]# systemctl enable rpcbind nfs-server

6)检查nfs

#检查文件
[root@nfs ~]# cat /var/lib/nfs/etab
/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash) #检查端口
[root@nfs ~]# netstat -lntup|grep 111
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp6 0 0 :::111 :::* LISTEN 1/systemd
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp6 0 0 :::111 :::* 1/systemd
#检查进程
[root@nfs ~]# ps -ef|grep -E '(nfs|rpcbind)'
rpc 8081 1 0 17:27 ? 00:00:00 /sbin/rpcbind -w
root 8140 2 0 17:27 ? 00:00:00 [nfsd4_callbacks]
root 8146 2 0 17:27 ? 00:00:00 [nfsd]
root 8147 2 0 17:27 ? 00:00:00 [nfsd]
root 8148 2 0 17:27 ? 00:00:00 [nfsd]
root 8149 2 0 17:27 ? 00:00:00 [nfsd]
root 8150 2 0 17:27 ? 00:00:00 [nfsd]
root 8151 2 0 17:27 ? 00:00:00 [nfsd]
root 8152 2 0 17:27 ? 00:00:00 [nfsd]
root 8153 2 0 17:27 ? 00:00:00 [nfsd]

部署nfs备胎服务端

1)安装nfs和rpcbind

[root@nfs ~]# yum install -y nfs-utils rpcbind

2)配置nfs

[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

3)启动服务并加入开机自启

[root@nfs ~]# systemctl start rpcbind nfs-server
[root@nfs ~]# systemctl enable rpcbind nfs-server

4)检查nfs

#检查文件
[root@nfs ~]# cat /var/lib/nfs/etab
/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash) #检查端口
[root@nfs ~]# netstat -lntup|grep 111
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp6 0 0 :::111 :::* LISTEN 1/systemd
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp6 0 0 :::111 :::* 1/systemd
#检查进程
[root@nfs ~]# ps -ef|grep -E '(nfs|rpcbind)'
rpc 8081 1 0 17:27 ? 00:00:00 /sbin/rpcbind -w
root 8140 2 0 17:27 ? 00:00:00 [nfsd4_callbacks]
root 8146 2 0 17:27 ? 00:00:00 [nfsd]
root 8147 2 0 17:27 ? 00:00:00 [nfsd]
root 8148 2 0 17:27 ? 00:00:00 [nfsd]
root 8149 2 0 17:27 ? 00:00:00 [nfsd]
root 8150 2 0 17:27 ? 00:00:00 [nfsd]
root 8151 2 0 17:27 ? 00:00:00 [nfsd]
root 8152 2 0 17:27 ? 00:00:00 [nfsd]
root 8153 2 0 17:27 ? 00:00:00 [nfsd]

部署nfs的客户端web01

1)安装nfs和rpcbind

[root@web01 ~]# yum install -y nfs-utils rpcbind

2)只启动rpcbind

[root@web01 ~]# systemctl start rpcbind
[root@web01 ~]# systemctl enable rpcbind

3)查看可挂载点

[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24 [root@web01 ~]# showmount -e 172.16.1.41
Export list for 172.16.1.41:
/data 172.16.1.0/24

4)挂载前,要保证数据一致

[root@web01 ~]# scp -r /var/www/html/upload/ 172.16.1.31:/data #输入的密码是开机密码
[root@nfs ~]# chown -R www.www /data/

5)挂载nfs的服务端

[root@web01 ~]# mount -t nfs 172.16.1.31:/data /var/www/html/upload

在nfs下:backup实时同步nfs的data目录:

1.编写脚本

vim rsync.sh
#!/bin/bash PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'
H=`hostname`
I=`ifconfig eth1|awk 'NR==2{print $2}'`
D=`date +%F`
S=${H}_${I}_${D}
BD=/backup
export RSYNC_PASSWORD=123 mkdir -p ${BD}/${S} tar zcf ${BD}/${S}/conf.tar.gz /etc/passwd &>/dev/null md5sum ${BD}/${S}/conf.tar.gz > /backup/${I}.txt rsync -az ${BD}/ rsync_backup@172.16.1.41::zls
find ${BD} -type d -mtime +7|xargs rm -fr

2.客户端每天凌晨1点定时执行该脚本

[root@web01 ~]# crontab -e
#每天凌晨一点备份重要数据 By:zls At:2019-08-02
00 01 * * * /bin/sh /root/rsync.sh &>/dev/null #脚本中需加入,以防定时任务时。目录中缺少ip
[root@web01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin #验证
yum -y install nptdate
ntpdate time1.aliyun.com
date -s 20190803
[root@web01 ~]# tail -f /var/log/cron #查看

backup服务端需求

1.服务端部署rsync,用于接收客户端推送过来的备份数据

2.服务端需要每天校验客户端推送过来的数据是否完整

3.服务端需要每天校验的结果通知给管理员

#安装mailx
yum install -y mailx #配置mail.rc
vim /etc/mail.rc Shift + g set from=123@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=123@qq.com
set smtp-auth-password=授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/ #检测下邮箱是否通
mail -s "rsync check $DATE" ***@qq.com </etc/passwd

4.服务端仅保留6个月的备份数据,其余的全部删除

vim check_md5.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
H=`hostname`
IP=`ifconfig eth1|awk 'NR==2{print $2}'`
DATE=`date +%F`
SRC=${H}_${IP}_${DATE} md5sum -c /backup/res/*|mail -s "${DATE} check backup" 133411023@qq.com find /backup -type d -mtime +180|xargs rm -fr
crontab -e
#xxx by:zls at:xx
01 00 * * * /bin/sh /root/check_md5.sh &>/dev/null 验证

在客户端web01下面执行,切换备胎backup,

解决单点故障脚本,vim nfs.sh

#!/bin/bash

check_nfs=`df -h|grep '/var/www/html/tupian'|wc -l`
if [ $check_nfs -eq 0 ];then
showmount -e 172.16.1.31 &>/dev/null
if [ $? -eq 0 ];then
mount -t nfs 172.16.1.31:/data /var/www/html/tupian
else
mount -t nfs 172.16.1.41:/data /var/www/html/tupian
fi
fi
注意:脚本有问题,先umount,在切换服务,验证,执行sh nfs.sh

sersync项目实战,达到实时同步的要求

环境准备

角色 外网IP(NAT) 内网IP(LAN) 安装工具
web01 eth0:10.0.0.7 eth1:172.16.1.7 部署代码(提交作业)
nfs-server eth0:10.0.0.31 eth1:172.16.1.31 rsync+inotify+sersync
backup eth0:10.0.0.41 eth1:172.16.1.41 rsync-server

1.实时同步哪台服务器的目录,那么就在哪台服务器上安装sersync

2.只要安装sersync 就必须安装rsyncinotify

安装rsync的服务端(backup)

1)安装rsync服务

[root@backup ~]# yum install -y rsync

2)配置文件

[root@backup ~]# vim /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
#####################################
[zls]
comment = welcome to oldboyedu backup!
path = /backup [nfs]
comment = welcome to oldboyedu backup!
path = /data

3)创建用户

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

4)创建目录并授权

[root@backup ~]# mkdir /data  /backup
[root@backup ~]# chown -R www.www /data/ /backup/

5)创建虚拟用户的密码文件并授权

[root@backup ~]# echo 'rsync_backup:123' > /etc/rsync.passwd
chmod 600 /etc/rsync.passwd

6)启动rsync服务

[root@backup ~]# systemctl start rsyncd

NFS服务端部署sersync

1)安装sersync需要依赖rsyncinotify

[root@nfs ~]# yum install -y rsync inotify-tools

2)下载sersync

[root@nfs ~]# wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz

3)部署sersync

​ 源码包:解压 生成 编译 安装

​ 解压:

[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz

4)移动并改名

[root@nfs ~]# mv GNU-Linux-x86 /usr/local/sersync

5)编辑配置文件

[root@nfs ~]# vim /usr/local/sersync/confxml.xml
<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>
-----------------------------------------------------------------------------------------
<sersync>
#监控的目录,改成/data
<localpath watch="/opt/tongbu">
#推送的IP(backup服务的IP)172.16.1.41 ,name是模块名
<remote ip="127.0.0.1" name="tongbu1"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
#执行rsync的参数改成 -az
<commonParams params="-artuz"/>
#虚拟用户的用户名和密码文件,开启认证start=true rsync_backup /etc/rsync.passwd
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
#设置超时时间
<timeout start="true" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.php"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync> #完整配置文件
[root@nfs ~]# cat /usr/local/sersync/confxml.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost" port="8008"></host>
<debug start="false"/>
<fileSystem xfs="false"/>
<filter start="false">
<exclude expression="(.*)\.svn"></exclude>
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
<exclude expression="^static/*"></exclude>
</filter>
<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> <sersync>
<localpath watch="/data">
<remote ip="172.16.1.41" name="nfs"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-az"/>
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pass"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="true" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.php"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync> <plugin name="command">
<param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix-->
<filter start="false">
<include expression="(.*)\.php"/>
<include expression="(.*)\.sh"/>
</filter>
</plugin> <plugin name="socket">
<localpath watch="/opt/tongbu">
<deshost ip="192.168.138.20" port="8009"/>
</localpath>
</plugin>
<plugin name="refreshCDN">
<localpath watch="/data0/htdocs/cms.xoyo.com/site/">
<cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
<sendurl base="http://pic.xoyo.com/cms"/>
<regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>
</localpath>
</plugin>
</head>

6)创建虚拟用户的密码文件,并授权

[root@nfs sersync]# echo '123' > /etc/rsync.passwd
[root@nfs sersync]# chmod 600 /etc/rsync.passwd

7)查看帮助

[root@nfs sersync]# /usr/local/sersync/sersync2 -h
set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command param
_______________________________________________________
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
c参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序
________________________________________________________________

8)启动sersync

[root@nfs data]# /usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml

9)达到效果,上传图片web01,当前挂载共享目录nfs下的/data,查看/data下是否有图片,在查看备份backup下/data,有无图片,若有,则OK,否则有问题,重新排错,密码文件保持一致

单独实现实时同步

1)安装sersync(rsync+inotify)

[root@nfs ~]# yum install -y rsync inotify-tools

2)安装sersync

下载:

[root@nfs ~]# wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz

解压:

[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz

移动并改名:

[root@nfs ~]# mv GNU-Linux-x86 /usr/local/sersync

3)修改配置文件

[root@nfs ~]# vim /usr/local/sersync/confxml.xml
<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> <sersync>
<localpath watch="/zls">
<remote ip="172.16.1.41" name="zls"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-az"/>
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="true" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>

4)创建目录

[root@nfs ~]# mkdir /zls

5)创建密码文件并授权

[root@nfs ~]# echo '123' > /etc/rsync.pas
[root@nfs ~]# chmod 600 /etc/rsync.pas

6)启动sersync

[root@nfs ~]# /usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml

sersync 就是rsync的客户端

底层调用:rsync和inotify

一键部署rsync,nfs,seraync,web

准备环境

主机名 作用 外网IP 内网IP
web01 客户端 10.0.0.7 172.16.1.7
backup 服务端 10.0.0.41 172.16.1.41
nfs 共享存储 10.0.0.31 172.16.1.31
m01 远程管理 10.0.0.61 172.0.0.61

m01下创建目录 /scripts/http_file,rsync_file,sersync_file,配置文件

[root@m01 scripts]# ll httpd_file/
total 412
-rw-r--r-- 1 root root 1245 Aug 13 01:10 upload_file.php
-rw-r--r-- 1 root root 413973 Aug 5 14:23 windows-提交作业代码.zip [root@m01 scripts]# ll rsync_file/
total 4
-rw-r--r-- 1 root root 393 Aug 13 04:56 rsyncd.conf [root@m01 scripts]# ll sersync_file/
total 716
drwxr-xr-x 2 root root 41 Oct 26 2011 GNU-Linux-x86
-rw-r--r-- 1 root root 727290 Aug 7 11:42 sersync2.5.4_64bit_binary_stable_final.tar.gz
-rw-r--r-- 1 root root 2209 Aug 13 04:22 sersync_server
#!/bin/bash
for IP in 31 41 7;do
ssh 172.16.1.$IP 'yum install -y rsync rpcbind nfs-utils httpd php unzip inotify-tools'
ssh 172.16.1.$IP 'groupadd www -g 666 && useradd www -u 666 -g 666 -s /sbin/nologin -M'
done
#--------------------------------部署rsync和nfs服务端---------------------
scp /scripts/rsync_file/rsyncd.conf 172.16.1.41:/etc/rsyncd.conf
ssh 172.16.1.41 'mkdir -p /{backup,data} && chown -R www.www /backup /data'
ssh 172.16.1.41 'echo rsync_backup:123 > /etc/rsync.passwd && chmod 600 /etc/rsync.passwd'
ssh 172.16.1.41 'echo "/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)" >/etc/exports'
ssh 172.16.1.41 'systemctl start rsyncd rpcbind nfs-server && systemctl enable rsyncd rpcbind nfs-server' #--------------------------------部署nfs和sersync服务端---------------------------
ssh 172.16.1.31 'echo "/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)" > /etc/exports'
ssh 172.16.1.31 'mkdir -p /data && chown www.www -R /data'
ssh 172.16.1.31 'systemctl start rpcbind nfs-server && systemctl enable rpcbind nfs-utils'
scp /scripts/sersync_file/sersync2.5.4_64bit_binary_stable_final.tar.gz 172.16.1.31:/root
ssh 172.16.1.31 'tar xf /root/sersync2.5.4_64bit_binary_stable_final.tar.gz'
ssh 172.16.1.31 'mv /root/GNU-Linux-x86 /usr/local/sersync'
scp /scripts/sersync_file/sersync_server 172.16.1.31:/usr/local/sersync/confxml.xml
ssh 172.16.1.31 'echo 123 > /etc/rsync.passwd && chmod 600 /etc/rsync.passwd' #----------------------------------部署web服务端-------------------------------------
scp /scripts/httpd_file/windows-提交作业代码.zip 172.16.1.7:/var/www/html && ssh 172.16.1.7 'cd /var/www/html/ && unzip windows-提交作业代码.zip' && scp /scripts/httpd_file/upload_file.php 172.16.1.7:/var/www/html
ssh 172.16.1.7 'sed -i "s#User apache#User www#g" /etc/httpd/conf/httpd.conf'
ssh 172.16.1.7 'sed -i "s#Group apache#Group www#g" /etc/httpd/conf/httpd.conf'
ssh 172.16.1.7 'chown -R www.www /var/www/html'
ssh 172.16.1.7 'systemctl start httpd'
ssh 172.16.1.7 'showmount -e 172.16.1.31' >/dev/null
if [ $? -eq 0 ];then
ssh 172.16.1.7 'mount -t nfs 172.16.1.31:/data /var/www/html/upload'
fi ssh 172.16.1.31 '/usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml'&

rsync nfs web01总结的更多相关文章

  1. rsync+nfs+sersync实战案例

    回顾: 1.rsync 统一备份各个服务器的配置文件或重要文件 系统配置文件 日志文件 系统日志文件 messages.secure.cron 服务日志文件 access_log.access.log ...

  2. rsync nfs 实时同步,结合实战

    目录 rsync nfs 实时同步,实战 一.部署rsync服务端(backup) 二.部署rsync客户端(nfs,web01) 三.部署web代码(web01) 四.NFS服务端部署(nfs) 五 ...

  3. Ansible部署rsync、nfs及sersync

    rsync nfs sersync httpd环境: 角色 外网IP(NAT) 内网IP(LAN) 主机名 Rsync服务端 eth0:10.0.1.51 eth1:172.16.1.51 backu ...

  4. 第五章 NFS、rsync等统一用户相关操作

    一.统一用户 1.httpd2.NFS挂载目录3.rsync 1.所有服务器统一创建用户 [root@web01 ~]# groupadd www -g 666[root@web01 ~]# user ...

  5. 同步备份工具之 rsync

    1.常用同步方法 SCP. NFS. SFTP. http. samba. rsync. drbd(基于文件系统同步,效率高) 2.rsync 介绍 rsync,英文全称是 remote synchr ...

  6. NFS共享储存

    目录 NFS 为什么要使用共享存储 集群没有共享存储的情况 集群有共享存储 NFS的工作原理 NFS部署 1.环境准备 2.关闭防火墙和selinux 3.部署nfs服务端 4.启动rpcbind 5 ...

  7. Rsync备份服务实战

    目录 Rsync备份服务实战 一.Rsync 二.rsync的应用场景 1.Rync的数据同步模式 2.rsync的三种模式 三.rsync配置服务端客户端 四.rsync实战 实战一 报错解决方法: ...

  8. 搭建WEB、NFS共享、sersync实时同步以及全网定时备份服务流程

    本次实验的主要目的: 1.搭建web服务,使用nfs服务共享的/data目录挂载到web站点目录上. 2.nfs服务器与backup服务器使用sersync实时同步/data目录中的文件. 3.bac ...

  9. ansible服务部署与使用

    第1章 ssh+key实现基于密钥连接(ansible使用前提) 说明:    ansible其功能实现基于SSH远程连接服务    使用ansible需要首先实现ssh密钥连接 1.1 部署ssh ...

随机推荐

  1. 让 Lua 访问数据库

    Lua 自身并没有提供访问数据库的函数,但是借助外部扩展库我们可以很容易实现对数据库的各种操作,下面就为大家介绍这样一个扩展库 - LuaSQL,你可以在下载区得到它. LuaSQL 定义了一套简单的 ...

  2. 从. NET 和 Java 之争谈 IT 这个行业

    一.有些事情难以回头 开篇我得表名自己的立场:.NET JAVA 同时使用者, 但更加偏爱. NET. 原因很简单 NET 语言更具开放性, 从开源协议和规范可以看出; 语言更具优势严谨; 开发工具 ...

  3. jquery.i18n 网站呈现各国语言

    在做网站的时候可能会遇到不同语言切换的问题,实现的方法有很多种,本篇文章按照 js 加载的方法的来实现. 应用到的 js 文件: jquery.i18n.properties.js jquery.js ...

  4. Java面试官:兄弟,你确定double精度比float低吗?

    我有一个朋友,叫老刘,戴着度数比我还高的近视镜,显得格外的"程序员":穿着也非常"不拘一格",上半身是衬衣西服,下半身是牛仔裤运动鞋. 我和老刘的感情非常好,每 ...

  5. Centos7部署mysql

    安装mysql yum install mysql mysql-server 会出现以下错误: [root@yl-web yl]# yum install mysql-server Loaded pl ...

  6. PHP 字符串大全

    PHP字符串函数是核心的一部分.无需安装即可使用这些函数 函数名称 描述 addcslashes 以 C 语言风格使用反斜线转义字符串中的字符 addslashes 使用反斜线引用字符串 bin2he ...

  7. vue应用调试工具 vue-devtools安装

    方法一:chrome直接访问下面地址下载安装:(需要翻墙) https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejigli ...

  8. 利用openssl自建CA体系

    使用 OpenSSL 创建私有 CA:1 根证书 使用 OpenSSL 创建私有 CA:2 中间证书 使用 OpenSSL 创建私有 CA:3 用户证书 今天跟着上面的三部曲,做了一下openssl的 ...

  9. 使用Data Guard迁移到RAC (Doc ID 273015.1)

    Migrating to RAC using Data Guard (Doc ID 273015.1) APPLIES TO: Oracle Database Cloud Exadata Servic ...

  10. Centos8 配置静态IP

    安装centos 8之后,重启启动网络时,会出现以下报错 报错信息如下: Failed to start network.service: Unit network.service not found ...