Ffrancotirador es una herramienta útil para monitorear directorios y ejecutar acciones predefinidas en archivos creados o modificados en ese directorio. Por ejemplo, si queremos hacer una copia de seguridad de cada archivo creado en su carpeta de carga web o directorio ftp, usando fsniper podemos copiar todos los archivos creados en esa carpeta al disco de copia de seguridad.
Fsniper usa inotify para observar cuándo se cierra un archivo después de escribirlo.
Paso 1:Instale los paquetes necesarios
Primero instale los paquetes necesarios para la instalación de fsniper en su sistema.
# yum install file-libs file-devel pcre pcre-devel
Paso 2:descarga el código fuente de Fsniper
Descargue el último código fuente de fsniper o use el siguiente comando para descargarlo. Extraiga también el archivo comprimido en el directorio /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
Paso 3:Instalar Fsniper
Después de extraer el código fuente compilado del archivo usando los siguientes comandos.
# ./configure # make # make install
Paso 4:Configurar Fsniper
Cree el archivo de configuración de fsniper como se indica a continuación.
# mkdir ~/.config/fsniper/ # vim ~/.config/fsniper/config
Agregue el contenido a continuación en el archivo de configuración. Es posible que deba cambiarlo según sus requisitos.
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/ } } }
Detalles sobre el archivo de configuración:
manejadores:el manejador se usa para especificar un comando que se ejecutará en la coincidencia encontrada en la carpeta especificada. .
handler = cp %% /backup/web/upload/image/
Paso 5:Inicie Fsniper como Daemon
Fsniper se puede iniciar en modo daemon usando el siguiente comando. Por lo tanto, el proceso no terminará ni usted inició sesión en nuestro sistema.
# fsniper --daemon
Paso 6:Script de inicio de Fsniper
Los scripts de inicio son útiles para iniciar la aplicación en el arranque del sistema, por lo que no necesitamos iniciarlos después de reiniciar el sistema. Cree un archivo llamado /etc/init.d/fsniper y agregue el contenido a continuación.
# vim /etc/init.d/fsniper
export HOME=/root case "$1" 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 $2'}` echo -e "... [ e[00;32mOKe[00m ]" ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: `basename $0` start|stop|restart" exit 1 esac exit 0
Y configure el permiso de ejecución en el script para que se ejecute.
# chmod +x /etc/init.d/fsniper # service fsniper start