标签:测试 rpcbind ack 开机自启 tmp boot tar 实现 lin
# 客户端下载inotify
yum install -y inotify-tools
# 安装完成就有了一个inotifywait命令,这个命令是用来做监控的,下面是关于这个命令的参数
-m 持续监控
-r 递归
-q 静默,仅打印时间信息
--timefmt 指定输出时间格式
--format 指定事件输出格式
%Xe 事件
%w 目录
%f 文件
-e 指定监控的事件
access 访问
modify 内容修改
attrib 属性修改
close_write 修改真实文件内容
open 打开
create 创建
delete 删除
umount 卸载
#测试一下使用命令监控/backup目录
[root@web02 ~]# inotifywait -mrq --format ‘%Xe %w %f‘ -e create,modify,delete,attrib,close_write /backup
在左边使用监控命令,右边新开一个窗口在监控的目录里创建文件。可以可到左边发生了变化
创建/备份/a.txt
ATTRIB/backup/a.txt
文件关闭writeexclose/backup/a.txt
## rsync结合inotify通过脚本实现无差异实时备份
# 环境准备一台服务端机器安装配置好rsync的
# 一台客户端服务器安装好rsync和inotify-tools
# 通过编辑脚本触发命令从而完成服务端和客户端实时无差异同步
# 客户端脚本内容如下
vim rsync_inotify.sh
#!/bin/bash
#设置环境变量
export RSYNC_PASSWORD=123
#设置变量
jk_dir=/backup
#监控/backup目录
/usr/bin/inotifywait -mrq --format ‘%Xe %w %f‘ -e create,modify,delete,attrib,close_write $jk_dir | while read line;do
rsync -az --delete $jk_dir/ wzh_bak@10.0.0.41::wzh
done &
#脚本完成退出保存,运行脚本
[root@web02 ~]# sh rsync_inotify.sh
#查看脚本进程
[root@web02 ~]# ps -ef |grep rsync_inotify.sh
root 8222 1 0 20:06 pts/0 00:00:00 sh rsync_inotify.
root 8226 6939 0 20:06 pts/0 00:00:00 grep --color=aut
# 进入到监控的目录
[root@web02 ~]# cd /backup/
# 查看里面内容
[root@web02 backup]# ll
total 0
-rw-r--r-- 1 root root 0 May 8 19:21 123.txt
-rw-r--r-- 1 root root 0 May 8 19:29 a.txt
drwxr-xr-x 2 root root 49 May 7 20:47 web02_172.16.1.8_2020-05-07
# 删除目录下的内容
[root@web02 backup]# rm -rf ./*
# 再次查看
[root@web02 backup]# ll
total 0
# 进入服务端的rsync接收目录
[root@backup ~]# cd /backup/
# 查看目录里面的内容
[root@backup backup]# ll
total 39740
-rw-r--r-- 1 rsync rsync 10162447 May 7 23:00 2020-05-07_web01_etc.tar.gz
-rw-r--r-- 1 rsync rsync 10162726 May 7 23:00 2020-05-07_web02_etc.tar.gz
-rw-r--r-- 1 rsync rsync 10190787 May 8 23:00 2020-05-08_web01_etc.tar.gz
-rw-r--r-- 1 rsync rsync 10162935 May 8 23:00 2020-05-08_web02_etc.tar.gz
drwxr-xr-x 2 rsync rsync 32 May 7 23:05 222
-rw-r--r-- 1 rsync rsync 0 May 7 23:01 2.txt
drwxr-xr-x 2 rsync rsync 49 May 25 2020 nfs_172.16.1.31_2020-05-25
drwxr-xr-x 2 rsync rsync 49 May 9 01:00 nfs__2020-05-09
-rw-r--r-- 1 rsync rsync 1022 May 7 17:58 passwd
drwxr-xr-x 2 rsync rsync 49 May 7 20:47 web02_172.16.1.8_2020-05-07
# 在客户端的监控目录里面创建一个a.txt文件
[root@web02 backup]# touch a.txt
[root@web02 backup]#
# 查看服务端的rsync接收目录
[root@backup backup]# ll
total 0
-rw-r--r-- 1 rsync rsync 0 May 8 20:30 a.txt
# 可以看到这时候就实现的实时同步,这时候编辑客户端的a.txt文件,服务端的a.txt文件也随之变化,而这一切都是inotify命令的作用,它的-e 选项指定了删除,编写,创建等发生变化的参数
```bash
### <font color="red">NFS共享存储</font>
![](https://img2020.cnblogs.com/blog/2082997/202007/2082997-20200713171823838-545210458.png)
### 通过Apache和PHP的代码实现共享存储
**环境准备**
| 主机名 | 外网IP | 内网IP | 角色 |
| ------ | --------- | ----------- | ------ |
| web01 | 10.0.0.7 | 172.16.1.7 | 客户端 |
| web02 | 10.0.0.8 | 172.16.1.8 | 客户端 |
| nfs | 10.0.0.31 | 172.16.1.31 | 服务端 |
**环境准备完成必须关闭防火墙**
**关闭防火墙**
systemctl stop firewalld
**禁止开机自启**
systemctl disable firewalld
**sed替换修改配置配置文件/etc/selinux/config**
sed -i ‘/^SELINUX=/c SELINUX=disabled‘ /etc/selinux/config
[root@web02 html]# yum install -y php httpd
可以用rpm -ql httpd 查找
结果找到了在/var/www/html下
rz 加上传的文件
[root@web02 ~]# cd /var/www/html
[root@web02 html]# mv /root/kaoshi.zip .
[root@web02 html]# unzip kaoshi.zip
[root@web02 html]# chown -R apache.apache /var/www/html/
[root@web02 html]# systemctl start httpd
[root@web02 html]# ps -ef |grep httpd
root 8524 1 0 21:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8525 8524 0 21:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8526 8524 0 21:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8527 8524 0 21:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8528 8524 0 21:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8529 8524 0 21:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8563 8524 0 21:47 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8598 8524 0 22:03 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8599 8524 0 22:03 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 8600 8524 0 22:03 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 8613 6939 0 22:16 pts/0 00:00:00 grep --color=auto httpd
[root@web02 html]# ss -an|grep ‘80‘
u_str ESTAB 0 0 * 21802 * 21803
u_str ESTAB 0 0 /run/systemd/journal/stdout 21803 * 21802
u_str ESTAB 0 0 * 38062 * 38063
u_str ESTAB 0 0 /run/dbus/system_bus_socket 38063 * 38062
u_str ESTAB 0 0 /run/systemd/journal/stdout 36980 * 36979
u_str ESTAB 0 0 * 37880 * 37881
u_str ESTAB 0 0 * 37881 * 37880
u_str ESTAB 0 0 * 36979 * 36980
tcp LISTEN 0 128 :::80 ::??
![](https://img2020.cnblogs.com/blog/2082997/202007/2082997-20200713172307248-1644413211.png)
vim /etc/httpd/conf/httpd.conf
搜索/apache 找到user Apache 和group Apache
修改为www
[root@web02 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@web02 ~]# chown -R www.www /var/www/html/
[root@web02 ~]# systemctl restart httpd
[root@web02 ~]# netstat -lntup|grep 80
tcp6 0 0 :::80 ::?? LISTEN 9228/httpd
[root@web02 ~]# ps -ef|grep [h]ttpd
root 9228 1 0 01:21 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 9229 9228 0 01:21 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 9230 9228 0 01:21 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 9231 9228 0 01:21 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 9232 9228 0 01:21 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
www 9233 9228 0 01:21 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
### 配置nfs的服务端的配置文件
**nfs****共享参数**
**参数作用**
rw
读写权限
ro
只读权限
root_squash
当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户(不常用)
no_root_squash
当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员(不常用)
all_squash
无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户(常用)
no_all_squash
无论NFS客户端使用什么账户访问,都不进行压缩
sync
同时将数据写入到内存与硬盘中,保证不丢失数据
async
优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
*anonuid*
配置all_squash使用,指定NFS的用户UID,必须存在系统
**anongid**
配置all_squash使用,指定NFS的用户UID,必须存在系统
[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
[root@nfs ~]# mkdir /data
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@nfs ~]# chown www.www /data
[root@nfs ~]# ll /data -d
drwxr-xr-x 2 www www 6 May 8 19:48 /data
[root@nfs ~]# systemctl start rpcbind nfs-server
systemctl enable rpcbind nfs-server
**客户端操作**
[root@web02 html]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
[root@web02 html]# mv kaoshi.zip /root/
[root@web01 ~]# mount -t nfs 10.0.0.31:/data /var/www/html/
[root@web01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.4G 18G 8% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
10.0.0.31:/data 19G 1.3G 18G 8% /var/www/html/
[root@web02 html]# ll
total 0
-rw-r--r-- 1 root root 0 May 9 01:28 a.txt
[root@nfs data]# ll
total 0
-rw-r--r-- 1 root root 0 May 9 01:28 a.txt
linux系统 <font color="red">rsync结合inotify实时同步</font>
标签:测试 rpcbind ack 开机自启 tmp boot tar 实现 lin
原文地址:https://www.cnblogs.com/zabcd/p/13294413.html