Fsniper ist ein nützliches Tool für die Verzeichnisüberwachung und führt vordefinierte Aktionen für Dateien aus, die in diesem Verzeichnis erstellt oder geändert wurden. Wenn wir beispielsweise eine Sicherungskopie aller Dateien erstellen möchten, die in Ihrem Web-Upload-Ordner oder FTP-Verzeichnis erstellt wurden, können wir mit fsniper alle in diesem Ordner erstellten Dateien auf die Sicherungsfestplatte kopieren.
Fsniper verwendet inotify darauf zu achten, wenn eine Datei geschlossen wird, nachdem in sie geschrieben wurde.
Schritt 1:Erforderliche Pakete installieren
Installieren Sie zuerst die erforderlichen Pakete für die fsniper-Installation auf Ihrem System.
# yum install file-libs file-devel pcre pcre-devel
Schritt 2:Fsniper-Quelle herunterladen
Laden Sie den neuesten fsniper-Quellcode herunter oder verwenden Sie den folgenden Befehl, um ihn herunterzuladen. Extrahieren Sie auch die Archivdatei im Verzeichnis /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
Schritt 3:Fsniper installieren
Kompilieren Sie nach dem Extrahieren des Archivs den Quellcode mit den folgenden Befehlen.
# ./configure # make # make install
Schritt 4:Fsniper konfigurieren
Erstellen Sie die fsniper-Konfigurationsdatei wie unten beschrieben.
# mkdir ~/.config/fsniper/ # vim ~/.config/fsniper/config
Fügen Sie den folgenden Inhalt in die Konfigurationsdatei ein. Möglicherweise müssen Sie ihn gemäß Ihren Anforderungen ändern.
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/ } } }
Details zur Konfigurationsdatei:
Handler:Der Handler wird verwendet, um einen Befehl anzugeben, der ausgeführt werden soll, wenn eine Übereinstimmung im angegebenen Ordner gefunden wird. .
handler = cp %% /backup/web/upload/image/
Schritt 5:Fsniper als Daemon starten
Fsniper kann mit dem folgenden Befehl im Daemon-Modus gestartet werden. Der Prozess wird also nicht beendet, auch wenn Sie sich nicht von unserem System angemeldet haben.
# fsniper --daemon
Schritt 6:Fsniper-Init-Skript
Init-Skripte sind nützlich, um Anwendungen beim Systemstart zu starten, sodass wir sie nach dem Neustart des Systems nicht starten müssen. Erstellen Sie eine Datei namens /etc/init.d/fsniper und fügen Sie den folgenden Inhalt hinzu.
# 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
Und setzen Sie die Ausführungsberechtigung für das auszuführende Skript.
# chmod +x /etc/init.d/fsniper # service fsniper start