实时同步服务的原理:

goaccess 实时监控 实时监控服务_实时同步


inotify监控服务

Linux内核从2.6.13起,加入了"inotify"支持,通过"inotify"可以监控文件系统中添加、删除、修改、移动等各种事件。

goaccess 实时监控 实时监控服务_goaccess 实时监控_02

使用"inotify"监控服务,需要下载"inotify-tools"软件包。

goaccess 实时监控 实时监控服务_实时同步_03


"inotify"监控服务的参数即事件

通过"rpm -ql"命令查看"inotify"软件包的文件,可以看出只有两个命令文件:

  • /usr/bin/inotifywait ---- 监控目录数据信息变化
  • /usr/bin/inotifywatch ----对监控的变化信息进行统计

"inotifywait"命令的使用方法:

  • "inotifywait"命令参数信息
  • "inotifywait"命令事件信息


    "inotifywait"命令监控文件的详细过程

goaccess 实时监控 实时监控服务_goaccess 实时监控_04


"inotify"监控服务更多用在监控一些密码文件等重要文件,防止重要文件被破坏;

因为"sersync"服务已将"inotify"服务和"rsync"服务整合好了,故在这里就只分享一下如何使用"sersync"服务部署实时同步服务。

使用"sersync"服务时,在客户机里先下载好inotify服务和rsyncf服务。

  1. 第一步:下在sersync安装包,这个软件包无法使用"yum"直接安装,需要到“Github”中下载:https://github.com/wsgzao/sersyn

下载完成之后,上传到Linux主机的一个目录中

goaccess 实时监控 实时监控服务_实时同步_05


其实压缩包里的文件我们只需要使用"sersync2.5.4_64bit_binary_stable_final.tar.gz"这个压缩包里的文件,因为"rsync"和"inotify"我们都可以通过"yum"安装。

  1. 解压文件
  2. goaccess 实时监控 实时监控服务_服务器_06

  3. 可以将“sersync2”命令文件移入“/usr/local/bin”目录下,系统就会通过PATH变量解析,这样在命令行直接输出“sersync2”就可以和“cd”这种命令一样使用了。
  4. goaccess 实时监控 实时监控服务_服务器_07

  5. 修改配置文件
    配置文件我做了一些注释,大家可以参考一下:
  6. goaccess 实时监控 实时监控服务_配置文件_08


  7. goaccess 实时监控 实时监控服务_配置文件_09

  8. 初次学习的话,只要把我标红星的行配置一下即可,或者可以参考下面这张图:
  9. goaccess 实时监控 实时监控服务_配置文件_10

  10. 修改好配置文件后,配置文件中需要监视的“目录”、免交互的密码文件都要创建好,同时和目的服务器rsync服务的端口要设置一致;
  11. goaccess 实时监控 实时监控服务_配置文件_11

  12. 密码文件的权限要设置为“600”,否则会一致报错:密码文件容易其它用户获取
    同时也要注意本主机的密码文件和目的服务器rsync服务的密码文件的一些差别。
  13. 启动sersync服务
    sersync服务没有“systemctl start xxx”方式的重启,直接执行命令就是重启sersync服务
  14. goaccess 实时监控 实时监控服务_goaccess 实时监控_12


  15. goaccess 实时监控 实时监控服务_服务器_13

  16. 执行命令后,到目的服务器中的模块目录,就可以查看到同步的信息了。
    tips:
    1.若是想让实时同步服务开机自启动,可将“sersync2 -dro /server/tools/sersync/confxml.xml”命令写入“/etc/rc.local”文件,这样就是可以实现开机自动启动服务
    2.若是想监控多个目录,可以在sersync配置文件中进行配置,但要给配置文件不同的名称,这样执行命令时,执行不同的配置文件即可监控不同的目录
    3.如想停止实时同步服务,可通过“killall sersync2”命令来停止,“killall”命令需要通过“yum”安装“psmisc”软件包才能使用。
    4.若是想卸载软件包,“rpm -e xxx --nodeps”,删除安装包时,取消依赖