在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 startstop sleep 1 ##代码## start ;; *) echo "Usage: `basename ##代码##` start|stop|restart" exit 1 esac exit 0
并添加脚本的执行权限。
##代码##