inotify

Centos7数据实时同步

二次信任 提交于 2020-01-20 03:57:02
Rsync+inotify 功能要求 通过rsync+inotify将数据库指定目录实时同步到备份服务器。 环境说明 M:192.168.10.11 数据库服务器 S:192.168.10.13 备份服务器 备份服务器操作 # yum -y install rsync # useradd rsync -s /sbin/nologin -M # mkdir -pv /kazihuo/bak # chown rsync.rsync /kazihuo/bak # cat /etc/rsyncd.conf pid file = /var/run/rsyncd.pid [Rsc-bak] uid = rsync gid = rsync path = /kazihuo/bak/ max connections = 200 log file = /var/log/rsyncd.log auth users = rsync-k secrets file = /etc/rsync.password # cat /etc/rsync.password rsync-k:000000 # chomd 600 /etc/rsync.password # rsync --daemon # ss -autnpl |grep rsync tcp LISTEN 0 5 *:873 *:* users:((

linux fanotify

我怕爱的太早我们不能终老 提交于 2020-01-19 20:03:59
传统的IT安全行业比较注重用户行为监控,在linux上如何做行为监控呢?首先用户行为可以分作两大类:本地行为和网络行为,本地行为就是对文件的打开、读写等,而网络行为主要是浏览网页,发送邮件,下载文件等,这些行为又是如何监控的呢? 在linux系统中分为用户空间和内核空间,完成用户任务的主要是多种多样的程序,属于用户空间的程序,不同的程序运行起来叫进程,进程都有属于自己的地址空间,不同的进程是不能随便互相访问的,除非通过系统提供的接口将地址空间暴露出来,例如mmap,简单说进程是隔离的,所以如果单纯的监控进程很难监控到其他进程的行为。所以基本是有两种方法来达到监控的目的: 1.通过/proc和/sys提供了很多有用的接口,j监控进程可以通过这些接口提取信息,一般来说这类监控程序的行为模式主要是周期性扫描,通过这些接口来获取进程的信息,一般来说会有很多的滞后性和遗漏 2.在内核中搞,用户空间的程序访问文件,网络等这些资源都必须通过内核,进程本身没有权限操作硬件,需要借助内核。其次内核有最高优先级,能够访问所有进程的数据。所以大部分的安全厂商通常借助于动态加载内核模块,也就是常说的hook。这部分的工作在主流开发人员中一直不被接受,通常都是out-tree中单独自己维护的,对于维护众多内核版本的功能需要大量的开发人员,工作量非常之大. 不过毕竟监控的市场需求不小

Linux&&shell使用

百般思念 提交于 2020-01-19 03:17:49
Linux&&shell使用 inotify+rsync shell如何接收实参到形参? 方法一:read inotify+rsync vim /opt/inotify_rsync.sh #!/bin/bash #定义inotify命名行。实时监控 INOTIFY_CMD = "inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/" #定义rsync命令行。本地同步到远端。 RSYNC_CMD = "rsync -azH --delete /var/www/html/ rput@192.168.75.111:/var/www/html/" #启动inotify命名行 | 读取inotify产生的监控记录 $INOTIFY_CMD | while read DIRECTORY EVENT FILE do #如果rsync未在执行,则立即启动。 if [ $( pgrep ^rsync$ | wc -l ) -le 0 ] ; then $RSYNC_CMD fi done shell如何接收实参到形参? 方法一:read read -p "please input values:" a echo $a 来源: CSDN 作者: 默行默致 链接: https://blog.csdn.net

How to determine the uniqueness of a file in linux?

微笑、不失礼 提交于 2020-01-17 03:40:09
问题 What i mean to "uniqueness" here also concerns about the time. Every time a file created on file system, there's a unique file. Files in same directory with same name but appears in different time stage are different. Definition to "unique" has nothing to do with file content. Firstly, i use inode to identify a file, files with different inode are different, a file alway have a fixed inode within it's lifecycle even it's been moved and touched. BUT, the inode may be reused by the OS. If file

linux inotify events for rename() with overwrite

人盡茶涼 提交于 2020-01-16 18:13:10
问题 I have a small application which monitors a directory tree for specific types file names (*.monitored). It counts the number of matching files, uses inotify to monitor various events for matching files being added or deleted, and can be polled to report the current number of files, and the average rate at which files have been added and removed over the past few seconds. The directory tree can contain hundreds of thousands of files, so I'm trying to avoid maintaining a list of monitored files

文件监控机制fanotify学习总结

痴心易碎 提交于 2020-01-16 14:18:01
fanotify是Linux平台上新出现的一种文件监控技术,常被用作杀毒软件或者病毒程序恶意访问控制。之前有听过或使用过inotify的,都知道inotify是相比于fanotify更早的文件操作事件监控技术,fanotify是新出来的,实现的功能不比inotify多,但是他提供的对于监控文件的事件比较重要的功能权限检查和访问控制而inotify没有提供,所以这一点优势是其能存在的原因。 fanitify的使用思路也比较清晰。下面结合代码我们来分析: 下面是设置内核参数的程序,主要用的几个系统调用在里面声明了: fanotify-syscalllib.h # ifndef __FANOTIFY_SYSCALL_LIB # define __FANOTIFY_SYSCALL_LIB # include <unistd.h> # include <linux/types.h> # if defined(__x86_64__) # define __NR_fanotify_init 300 # define __NR_fanotify_mark 301 # elif defined(__i386__) # define __NR_fanotify_init 338 # define __NR_fanotify_mark 339 # else # error "System call

rsync实时同步

↘锁芯ラ 提交于 2020-01-16 03:34:00
假设有如下需求: 假设两个服务器: 192.168.0.1 源服务器 有目录 /opt/test/ 192.168.0.2 目标服务器 有目录 /opt/bak/test/ 实现的目的就是保持这两个服务器某个文件目录保持实时同步 实现方式: 通过rsync+inotify-tools结合来实现 准备工作: 首先要给两台机器添加信任关系,具体方法已经在前面的文章介绍过了 详情查看: linux添加信任关系免密码登录 需要安装软件: 1. rsync 同步软件 在 源服务器 和 目标服务器 都需要安装 源服务器: 是rsync客户端,不需要配置 目标服务器: 是rsync服务器端,需要配置/etc/rsyncd.conf里的内容 2. inotify-tools 工具 该工具为文件实时监控工具,需要linux操作系统内核支持,内核支持需要至少版本为2.6.13 检查操作系统是否支持,执行如下: uname -r 查看版本 返回: 1 2.6.32-358.6.1.el6.x86_64 则表示版本2.6.32 大于2.6.13,则支持。 执行: 1 2 3 4 5 ll /proc/sys/fs/inotify total 0 -rw-r--r-- 1 root root 0 Oct 18 12:18 max_queued_events -rw-r--r-- 1 root root 0

Rsync文件同步

那年仲夏 提交于 2020-01-16 03:33:50
源自《Linux 运维之道》丁一明编著 一书的总结 Rsync(remote sync)是UNIX平台下一款神奇的数据镜像备份软件。根据数据的变化进行差异备份,从而减少流量,提高工作效率。Rsync使用TCP873端口。 在服务器端: [root@localhost /]# mkdir /rsyncFile [root@localhost /]# gedit /etc/rsyncd.conf 添加内容为: #/etc/rsyncd.conf #设置服务器信息提示文件名称,在该文件中编写提示信息 motd file = /etc/rsyncd.motd #开启Rsync数据传输日志功能 transfer logging=yes #设置日志文件名称,可以通过log format参数设置日志格式 log file=/var/log/rsyncd.log #设置Rsync进程号保存文件名称 pid file=/var/run/rsyncd.pid #设置锁文件名称 lock file=/var/run/rsync.lock #设置服务器监听的端口号,默认为873 port=873 #设置服务器所监听的网卡接口的IP地址 address = 192.168.118.253 #设置进行数据传输时所使用的账户名称或ID号,默认为nobody uid = nobody gid = nobody

rsync 服务快速部署手册

馋奶兔 提交于 2020-01-10 17:52:56
来源: https://www.cnblogs.com/miclesvic/p/6189540.html 一、rsync服务端安装 1、查看rsync安装包 # rpm -qa rsync rsync-3.0.6-12.el6.x86_64 2、安装rsync 系统默认都会安装rsync软件包的,如果查看发现没有安装,执行yum安装即可 # yum install rsync -y 3、添加rsync服务的用户,管理本地目录的 # useradd -s /sbin/nologin -M rsync # id rsync 4、生成rsyncd.conf配置文件 # cat /etc/rsyncd.conf #rsync_config______________________start #created by oldboy 15:00 2016-11-15 ##rsyncd.conf start## uid = rsync # 用户 远端的命令使用rsync访问共享目录 gid = rsync # 用户组 use chroot = no # 安全相关 max connections = 200 # 最大连接数 timeout = 300 # 超时时间 pid file = /var/run/rsyncd.pid # 进程对应的进程号文件 lock file = /var/run

Too many inotify events while editing in vim

谁说我不能喝 提交于 2020-01-02 02:32:06
问题 I'm trying to use inotifywait for monitoring specific folders and recompiling if needed. The problem is that I'm using vim heavily, and when I'm editing in vim any file modified actually triggers some 'redundant' events, something like: :w sass/somefolder/ CREATE 4913 sass/somefolder/ CREATE some sass/somefolder/ MODIFY some It took me some time to realize that actually everything is OK with inotifywait - I've tried to use nano and everything worked just as expected, only "MODIFY" is