Fsniper est un outil utile pour surveiller les répertoires et exécuter des actions prédéfinies sur les fichiers créés ou modifiés dans ce répertoire. Par exemple, si nous voulons faire une sauvegarde de chaque fichier créé dans votre dossier de téléchargement Web ou votre répertoire ftp, en utilisant fsniper, nous pouvons copier tous les fichiers créés dans ce dossier sur le disque de sauvegarde.
Fsniper utilise inotify à surveiller lorsqu'un fichier est fermé après avoir été écrit.
Étape 1 :Installez les packages requis
Installez d'abord les packages requis pour l'installation de fsniper sur votre système.
# yum install file-libs file-devel pcre pcre-devel
Étape 2 :Télécharger la source Fsniper
Téléchargez le dernier code source fsniper ou utilisez la commande ci-dessous pour le télécharger. Extrayez également le fichier d'archive dans le répertoire /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
Étape 3 :Installer Fsniper
Après avoir extrait l'archive, compilez le code source à l'aide des commandes suivantes.
# ./configure # make # make install
Étape 4 :Configurer Fsniper
Créez le fichier de configuration fsniper en suivant les instructions ci-dessous.
# mkdir ~/.config/fsniper/ # vim ~/.config/fsniper/config
Ajoutez le contenu ci-dessous dans le fichier de configuration, vous devrez peut-être le modifier selon vos besoins.
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/ } } }
Détails sur le fichier de configuration :
handlers :le gestionnaire est utilisé pour spécifier une commande à exécuter en cas de correspondance trouvée dans le dossier spécifié. .
handler = cp %% /backup/web/upload/image/
Étape 5 :Démarrez Fsniper en tant que démon
Fsniper peut être démarré en mode démon à l'aide de la commande suivante. Ainsi, le processus ne se terminera pas non plus si vous vous êtes connecté à partir du système.
# fsniper --daemon
Étape 6 :Script d'initialisation de Fsniper
Les scripts d'initialisation sont utiles pour démarrer l'application au démarrage du système, nous n'avons donc pas besoin de les démarrer après le redémarrage du système. Créez un fichier nommé /etc/init.d/fsniper et ajoutez le contenu ci-dessous.
# 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
Et définissez l'autorisation d'exécution sur le script à exécuter.
# chmod +x /etc/init.d/fsniper # service fsniper start