在CentOS、RHEL和Fedora中安装Fsniper(目录监控)工具

时间:2019-05-19 01:26:07  来源:igfitidea点击:

Fsniper是一个有用的目录监控工具,可以对在该目录中创建或修改的文件执行预定义的操作。
例如,如果我们想备份在web上传文件夹或ftp目录中创建的每个文件,使用fsniper我们可以将在该文件夹中创建的所有文件复制到备份磁盘。
Fsniper使用 inotify来监视文件被写入后是否关闭。

步骤1:安装所需的软件包

首先在系统上安装fsniper所需的软件包。

# yum install file-libs file-devel pcre pcre-devel

步骤2:下载Fsniper源文件

下载最新的fsniper源代码或使用以下命令下载。
同时在/usr/src目录中解压存档文件。

# cd /usr/src/
# wget http://projects.l3ib.org/fsniper/files/fsniper-1.3.1.tar.gz
# tar xzf fsniper-1.3.1.tar.gz
# cd fsniper-1.3.1

步骤3:安装Fsniper

解压存档后,使用以下命令编译源代码。

# ./configure
# make
# make install

步骤4:配置Fsniper

创建fsniper配置文件,如下所示。

# mkdir ~/.config/fsniper/
# vim ~/.config/fsniper/config

在配置文件中添加以下内容,我们可能需要根据需求对其进行更改。

watch {
    # watch the /var/www/upload directory for new files
    /var/www/upload {
	# matches any mimetype beginning with image/ in /var/www/upload directory.
        image/* {
            handler = cp %% /backup/web/upload/image/
        }
	# matches all file with .pdf extension in /var/www/upload directory.
        *.pdf {
            handler = cp /var/www/upload/%F /backup/web/upload/pdf/
        }
    }
}

配置文件详细说明:

handlers:该处理程序用于指定在指定文件夹中找到匹配的命令执行。

handler = cp %% /backup/web/upload/image/

%%:被替换为具有完整路径的匹配文件名。

%F:仅替换为文件名。

步骤5:以守护进程方式启动Fsniper

Fsniper可以在守护进程模式下使用以下命令启动。
所以这个进程不会终止你从系统中登录。

# fsniper --daemon

步骤6:Fsniper init脚本

Init脚本对于在系统引导时启动应用程序非常有用,因此我们不需要在重新启动系统后启动它们。
创建一个名为 /etc/init的文件。
d/fsniper
,并添加以下内容。

# vim /etc/init.d/fsniper

export HOME=/root

case "" in
start)
echo -n "Starting Fsniper: "
/usr/local/bin/fsniper --daemon
echo -e "... [ e[00;32mOKe[00m ]"
;;
stop)
echo -n "Shutdown Fsniper: "
kill -9 `ps aux | grep "fsniper --daemon" | grep -v grep | awk {'print '}`
echo -e "... [ e[00;32mOKe[00m ]"
;;
restart)
# chmod +x /etc/init.d/fsniper
# service fsniper start

stop sleep 1 ##代码## start ;; *) echo "Usage: `basename ##代码##` start|stop|restart" exit 1 esac exit 0

并添加脚本的执行权限。

##代码##