私の主な目標は、Tomcatディレクトリを監視して、ユーザーがtomcatディレクトリのファイルを変更していることを確認することです。

私の主な目標は、Tomcatディレクトリを監視して、ユーザーがtomcatディレクトリのファイルを変更していることを確認することです。
#!/bin/bash

watchDir="$1"
watchDir2="$2"
date1=$(date '+%Y-%m-%d-%H:%M:%S')
inotifywait -m -r --exclude \.log "$watchDir" "$watchDir2" -e attrib,delete,delete_self,close,close_write,close_nowrite,create,open,modify,move,moved_to,moved_from |
    while read -r file; do
        name=$(stat -c '%U' $file 2>/dev/null)
            date=$(stat -c %Y $file 2>/dev/null | awk '{print strftime("%d-%m-%Y %T", $1,$2)}')
        fileName=${file/* CREATE /}
        echo "[${date%.*}]" "File: '$fileName'  User: '$name'" >>  /var/log/inotify/inotify-$date1.log
    done


ベストアンサー1

多くの研究の終わりに、私はこれらの制限が有用であることがわかりました。 inotifyを使用すると、ファイルを変更したユーザーを見つける方法はありません。

制限事項をお読みください。http://manpages.ubuntu.com/manpages/bionic/man7/inotify.7.html

制限事項と注意事項

inotify APIは、inotifyイベントをトリガーしたユーザーまたはプロセスに関する情報を提供しません。特に、inotifyを介してイベントを監視するプロセスが、自分がトリガーするイベントと他のプロセスによってトリガーされるイベントを区別する簡単な方法はありません。



おすすめ記事