A服务器作为防篡改源服务器,也就是正常的文件服务器

B服务器作为对外开放,也就是WEB目录服务器

同时将A服务器作为网站后台更新内容的服务器

在B服务器上配置好rsync + inotify 触发式实时同步

图例如下:

A防篡改系统安装rsync

yum install rsync配置rsync文件rsyncd.conf

服务器A(防篡改系统rsync配置)

vi /etc/rsyncd.conf

[test]

uid = root#运行rsync的用户

gid = root#运行rsync的用户组

ignore errors#忽略一些无关的I/O错误

path = /app/sinova/python/#需要备份的文件路径

read only = false#false为关闭,true表示开启。表示只读,不允许上传文件

writeonly = false#不允许下载

list = false#客户请求可以使用模块列表时是否被列出

secres file = /etc/rsync.password#指定一个包含“用户名:密码”格式的文件建立 rsync 用户名和密码文件

#echo"root:123456789" >> /etc/rsync.password为 /etc/rsync.password授权为 600(这个文件的权限必须是 600)

#chmod  600 /etc/rsync.password启动rsync并添加开启自动启动

#/usr/bin/rsync --daemon  &

#echo "/usr/bin/rsync --daemon" >> /etc/rc.localWEB服务器

1、设置 rsync客户端的密码文件,服务器B只需要设置 rsync同步的密码即可,不用设置用户名

# yum install rsync

# echo "123456789" > /etc/rsync.password将密码文件的权限设置成 600(这个文件的权限必须是600)

# chmod 600 /etc/rsync.password

3、配置 Inotify(在 服务器B上配置)

# tar zxf inotify-tools-3.14.tar.gz

# cd inotify-tools-3.14

# ./configure && make && make install

写一个脚本来实现,当/app/test中文件有变化时,让rsync服务同步数据:

#!/bin/bash

DATE=`date +%F_%T`

rsyncCmd="rsync -vzrtopg --progress --delete 192.168.101.129::test /app/test --password-file=/etc/rsync.password"

Log=/app/logs/notify.log

/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib /app/test | while read file

do

${rsyncCmd}

echo "${DATE}:Change:${file} was rsynced" >> ${Log}

done编写监听inotify进程脚本,防止inotify由于某种原因中断无法实时同步

vi /app/bin/inotify_monitor.sh

#!/bin/bash

#time 2015-09-01

#program: inspect inotify script

function check(){

if ! ps -ef|grep  "$1"|grep -v "grep" >/dev/null;then

nohup /app/bin/inotify.sh &

fi

}

check inotifywait添加定时任务计划

#crontab -e

*/1 * * * * /app/bin/inotify_monitor.sh &> /dev/null给予执行权限

# chmod +x /root/inotify.sh

#nohup/app/bin/inotify.sh &        #在后台执行

启动服务器A(防篡改)与服务器B(WEB)rsync服务

#/usr/bin/rsync --daemon启动服务器B(WEB)服务器脚本

#nohup/app/bin/inotify.sh &

#crontab -e

*/1 * * * * /app/bin/inotify_monitor.sh &> /dev/null关闭inotify服务

关闭监听inotify进程脚本,添加#注释掉计划任务

#crontab -e

#*/1 * * * * /app/bin/inotify_monitor.sh &> /dev/null

查找后台进程并kill掉

#kill -9 `ps -ef|grep inotify|grep -v grep|awk '{print $2}'`

向服务器B(WEB服务器)/app/test下目录进行更改、删除文件进行测试;

从上图可以看出,删除、更改文件后目录下无变化。

设置rsync+inotiy后更新文件需从服务器A(防篡改)进行文件同步;

linux 下文件防篡改,Rsync+inotify实现文件防篡改相关推荐

  1. rsync+inotify实现文件增量实时同步

    rsync+inotify实现文件增量实时同步 项目环境 防火墙{项目环境,不是必要条件} 项目需求 一.rsync安装部署 1.检查是否安装rsync 2.测试系统rsync命令 3.新建配置文件 ...

  2. Linux下程序崩溃dump时的 core文件的使用方法

    Linux下程序崩溃dump时的 core文件的使用方法 1.在启动程序前执行 ulimit -c unlimited unlimited 表示生成文件的大小限制,也可以修改为自定义的大小,例如: u ...

  3. linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件

    搜索热词 以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 #将tomcat中 ...

  4. linux比较两个文件md5,linux下如何批量比对两个文件的MD5值是否一致,SHA1是否一致。...

    linux下如何批量比对两个文件的MD5值是否一致,SHA1是否一致.如下所示: #!/bin/bash SOURCE_DIR="/home/walkerjava/source/" ...

  5. Linux下使用GPG(GnuPG)加密及解密文件

    文章目录 Linux下使用GPG(GnuPG)加密及解密文件 1. 简介 2.环境及版本 3.GPG公钥生成 4.查看公钥 5.查看私钥 6.导出公钥 7.导出私钥 8.加密文件 本机加密 其他电脑加 ...

  6. java调用c 生成so,Java在linux下调用C/C++生成的so文件

    Java在linux下调用C/C++生成的so文件 1. CplusUtil.java是java web工程中的一个工具类 内容如下: CplusUtil.java package cn.undone ...

  7. Linux下Brit 导出pdf,word等文件的时候echarts的X轴或者Title乱码问题

    Linux下Brit 导出pdf,word等文件的时候echarts的X轴或者Title出现中文乱码问题 问题:当我们在Windows开发项目中使用eclipse的birt插件时,其中birt的ech ...

  8. Linux 下载安装 rar 并解压rar压缩包(Linux下如何解压.zip和.rar文件)

    Linux下如何解压.zip和.rar文件,对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于zip linux下提供了zip和unzip程序,zip是 ...

  9. linux下rsync+inotify同步文件

    inotify进行对服务器文件监听,一旦检测到有改动则发起同步rsync服务器文件到客户端 一.安装和下载rsync 下载地址:http://rsync.samba.org/ 1.安装步骤: 1)# ...

最新文章

  1. 有哪些「魔改」损失函数,曾经拯救了你的深度学习模型?
  2. 有段位的管理者,都是怎么管理的?
  3. 微软亚洲研究院副院长刘铁岩:以计算之矛攻新冠之盾
  4. Charles调试Https Android
  5. 去螨虫能不能用去螨皂?
  6. Win10(UEFI启动)安装Ubuntu18.04双系统
  7. ASP.NET Core 注册单例方案
  8. JAVA开心超级签名系统源码+部署文档
  9. c语言如何在坐标输出,tc 如何在指定坐标处 输出bmp图片??
  10. python调用cmd执行命令_详解python调用cmd命令三种方法
  11. 开式系统管径推荐选型_列管式换热器选型设计计算
  12. SQL Server数据库应用技术
  13. dwg格式转换成html,DWG格式转换器BitRecover DWG Converter Wizard
  14. 动态爬虫之qzone空间自动秒赞 - qq空间自动点赞
  15. css 间隙,CSS间隙属性
  16. G: LZY的计算器
  17. 银河帝国----基地边缘
  18. 垃圾收集算法,垃圾收集器_实时垃圾收集
  19. 谷歌公布首颗自研手机芯片Tensor
  20. 必备干货,程序员进阶升级全攻略!

热门文章

  1. 使用动态规划求解算法问题的五大特点总结(附基于Python的参考代码)
  2. android启动页广告图,一张图搞定APP启动页广告
  3. u盘中毒了怎么恢复文件?一分钟了解恢复方法
  4. 记一次锐捷网络虚拟化(VSU)故障处理
  5. 解决 Windows USB 鼠标键盘断连掉线的问题 和 安全删除硬件并弹出媒体图标 没有弹出移动硬盘的选项
  6. 掘金chrome插件安装失败怎么办?
  7. 麒麟座迷你板STLINK使用
  8. 浅谈中国2050年人均受教育年限问题
  9. Flowchart流程图和 Mermaid流程图的对比
  10. 自己动手搭建搜索工具