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/
}
}
}
構成ファイルの詳細:
ハンドラー:ハンドラーは、指定されたフォルダーで見つかった一致時に実行されるコマンドを指定するために使用されます。 。
handler = cp %% /backup/web/upload/image/
<赤>%%:赤> フルパスで一致するファイル名に置き換えられます。
<赤>%F:赤> ファイル名のみに置き換えられます。
ステップ5:デーモンとしてFsniperを起動します
Fsniperは、次のコマンドを使用してデーモンモードで起動できます。したがって、システムからログに記録した場合でも、プロセスは終了しません。
# fsniper --daemon
ステップ6:Fsniperinitスクリプト
Initスクリプトは、システムの起動時にアプリケーションを起動するのに役立つため、システムの再起動後にスクリプトを起動する必要はありません。 /etc/init.d/fsniperという名前のファイルを作成します 以下のコンテンツを追加してください。
# 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
そして、実行するスクリプトの実行権限を設定します。
# chmod +x /etc/init.d/fsniper # service fsniper start