0
inotify.butでファイルの変更を監視するのは簡単ですが、Inotifyはファイルに書き込むときにファイル名とファイルattrだけをIN_MODIFYイベントに返すことができます。新しい追加コンテンツの開始位置はどのように取得できますか変更ファイルの内容の長さは?これを解決するAPIはありますか?監視ファイルの変更posと長さ
inotify.butでファイルの変更を監視するのは簡単ですが、Inotifyはファイルに書き込むときにファイル名とファイルattrだけをIN_MODIFYイベントに返すことができます。新しい追加コンテンツの開始位置はどのように取得できますか変更ファイルの内容の長さは?これを解決するAPIはありますか?監視ファイルの変更posと長さ
あなたはログインしていくつかのファイルリストの変更、その後、ジャーナリングサイズの変更を確認し、例のinotify監視のための追加のスクリプトを作ることができます。
#!/bin/bash
for n in `cat /etc/inotify/special_files_list.conf`; do
FOUND_CHANGES=`tail -n 10000 /var/log/inotify.log | grep `$cur_date_with_hour` | grep $n`
PREVIOUS_FILE_SIZE=`/var/log/inotify-special.log | cut -d ';' -f 0`
FILE_SIZE=stat -c "%s" `cut -d ';' -f 0,1`
file_size_diff = `expr $PREVIOUS_FILE_SIZE - $FILE_SIZE`
if [ file_size_diff !-eq 0 ]; then
echo "$FOUND_CHANGES;" >> /var/log/inotify-special.log
fi
done
...
私が取得する差分または他のチェックサムのスクリプトを使用する必要はありません内容を変更する、私は知ってほしいapiはLinuxカーネルからこれを得るか、drbdのようなIOレベルで傍受するか? – Zeyu
あなたにはそれほど難しくなく、本当にこの機能が必要な場合は、inotifyを修正しようとするかもしれません。 – Alex