使用inotify监视文件更改很容易。但是当我写入文件时,Inotify只能回复带有文件名的IN_MODIFY事件和一些文件attr。如何在更改中获取新的添加内容的起始位置和内容长度文件?有没有api可以解决这个问题?
答案 0 :(得分:0)
您可以为监视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
...