#SCRIPT TO CHECK WHO HAS ACCESSED THE LOG/FILE IN PAST 'N' MINUTES, AND MAIL ACCORDINGLY.
MYPATH="/clocal/mqbrkrs/user/mqsiadm/sanjay/"
MAIL_RECIPIENTS="vgabc@def.com"
#maillist"
Subject=":: File(s) accessed/touched in last few minutes ::"
>tempmail.txt
>tempfind.txt
>filterfile.txt
>tempgrep.txt
#*******************************************************************
## List all the files which one accessed since last 1 min #####
#*******************************************************************
index=1
pidprev=0
ps -ef | grep "\-ksh" | awk '$8 !~ /grep/ { printf "%s %s %s %s %s\n", $1, $2, $3, $5, $8 ; }' >> ./tempfind.txt
for file_dir in `find $MYPATH -amin -1`
do
echo `fuser -uf "$file_dir" ` >> temp.txt.$$
echo " $file_dir is being accessed" >> temp.txt.$$
done
sed -n '/[a-z]*/p' temp.txt.$$ >> tempmail.txt
echo "Accessed By: " >>tempmail.txt
sed -n '//p' temp.txt.$$ > filterfile.txt
for pid_var in `awk '{ print $1 }' filterfile.txt`
do
echo "here i am inside the for loop ";
if [ "$index" -eq 1 ] ; then
echo "inside if " ;
pidprev="$pid_var" ;
echo "pid_var: $pid_var" ;
echo "pidprav: $pidprev" ;
`awk '$2 ~ pid_var {print $3 > "tempgrep.txt" }' tempfind.txt` ;
echo "1. " ;
cat tempgrep.txt ;
echo "----" ;
cat tempgrep.txt | \
while read ppid
do
# awk '{ if($2~ppid && $1!~pattern) print $1 >> "tempmail.txt" }' tempfind.txt
\`awk 'BEGIN{ pattern = "mqsi[admtsprd]" }
{if ( ppid !~ "" ) { fun( ppid, pattern ); } }
function fun( n, pattern )
{
\`awk '{ if($2~n && $1~pattern){
n=$3;
fun( n, pattern ); }
else{
if($2~n && $1!~pattern){
print $1 >> "tempmail.txt" ;
break ;
}
else {next ;}
}
}' tempfind.txt\`
}
'\`
done
let "index+=1" ;
fi
if [ "$pid_var" -ne "$pidprev" ] ; then
pidprev="$pid_var" ;
echo "pid_var: $pid_var" ;
echo "pidprav: $pidprev" ;
`awk '$2 ~ pid_var {print $3 > "tempgrep.txt" }' tempfind.txt` ;
echo "2. ";
cat tempgrep.txt ;
echo "----" ;
cat tempgrep.txt | \
while read ppid
do
# awk '{ if($2~ppid && $1~pattern) print $1 >> "tempmail.txt" }' tempfind.txt
\`awk 'BEGIN{ pattern = "mqsi[admtsprd]" }
{if ( ppid !~ "" ) { fun( ppid, pattern ); } }
function fun( n, pattern )
{
\`awk '{ if($2~n && $1~pattern){
n=$3 ;
fun( n, pattern ); }
else{
if($2~n && $1!~pattern){
print $1 >> "tempmail.txt" ;
break ;
}
else {next ;}
}
}' tempfind.txt\`
}
'\`
done
fi
done
cat tempmail.txt | mailx -s "$Subject" "$MAIL_RECIPIENTS"
rm -f "temp.txt.*" 2> /dev/null
# >tempmail.txt
# >tempfind.txt
# >filterfile.txt
# >tempgrep.txt