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. DUBBO: xml文件无法解析

    xml是: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:/ ...

  2. 设置tomcat为自动启动

    第一步:设置tomcat为服务启动项 进入dos窗口,输入service.bat install,启动服务, 这里要注意的是,如果直接在cmd输入报错,需要你进入到tomcat的目录下执行cmd 第二 ...

  3. AoE 搭档 TensorFlow Lite ,让终端侧 AI 开发变得更加简单。

    AoE( AI on Edge , https://github.com/didi/AoE ) 是滴滴近期开源的终端侧 AI 集成运行时环境 ( IRE ). 随着人工智能技术快速发展,近几年涌现出了 ...

  4. 阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装

    本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper) 阿 ...

  5. redis 开源客户端下载

    redis 开源客户端下载地址: https://github.com/qishibo/AnotherRedisDesktopManager/releases

  6. CF#603 Div2

    差不多半年没打cf,还是一样的菜:不过也没什么,当时是激情,现在已是兴趣了,开心就好. A Sweet Problem 思维,公式推一下过了 B PIN Codes 队友字符串取余过了,结果今天早上一 ...

  7. BitMap原理

    BitMap原理  

  8. 多次调用settimeout 如何使用单例模式

    <script> function aaa() { window.counter = window.counter||1; console.log(window.counter); win ...

  9. Spring Cloud Alibaba 实战(十一) - Spring Cloud认证授权

    欢迎关注全是干货的技术公众号:JavaEdge 本文主要内容: 如何实现用户认证与授权? 实现的三种方案,全部是通过画图的方式讲解.以及三种方案的对比 最后根据方案改造Gateway和扩展Feign ...

  10. 第2次作业-titanic数据集练习

    一.读入titanic.xlsx文件,按照教材示例步骤,完成数据清洗. titanic数据集包含11个特征,分别是: Survived:0代表死亡,1代表存活Pclass:乘客所持票类,有三种值(1, ...