Linux 在日志文件更改时触发shell脚本

Linux 在日志文件更改时触发shell脚本,linux,shell,xrdp,Linux,Shell,Xrdp,我希望在xrdp会话开始和结束时触发一个命令,如果/var/log/xrdp.log文件在过去10分钟内获得会话启动更新,我希望触发一个shell脚本 示例:会话登录触发器。 [root@CentOS73-RDPDemo sp]# cat trigger-login.sh #!/bin/bash if [ $(( $(date +%s) - $(date +%s -r /var/log/xrdp.log) )) -le 180 ]; then tail -n 4 /var/lo

我希望在xrdp会话开始和结束时触发一个命令,如果/var/log/xrdp.log文件在过去10分钟内获得会话启动更新,我希望触发一个shell脚本

示例:会话登录触发器。

[root@CentOS73-RDPDemo sp]# cat trigger-login.sh

#!/bin/bash

if [ $(( $(date +%s) - $(date +%s -r /var/log/xrdp.log) )) -le 180 ]; then   
    tail -n 4 /var/log/xrdp.log | grep -i "socket: 11"   
   sh /usr/src/sp/sql-login.sh  
fi
示例:会话注销触发器

[root@CentOS73-RDPDemo sp]# cat trigger-logout.sh

#!/bin/bash

if [ $(( $(date +%s) - $(date +%s -r /var/log/xrdp.log) )) -le 180 ]; then

    tail -n 4 /var/log/xrdp.log | grep -i "socket: 12"
   sh /usr/src/sp/sql-logout.sh  
fi
编写一个脚本(比如main.sh),检查文件(
var/log/xrdp.log
)中是否有任何更新。如果文件中有任何更新,请调用所需的脚本(
trigger login.sh
trigger logout.sh

您可以使用
stat
md5sum

示例供参考(main.sh)

安排一个
crontab
作业,该作业每10分钟运行一次main.sh脚本

编写一个脚本(比如main.sh),检查文件(
var/log/xrdp.log
)中是否有任何更新。如果文件中有任何更新,请调用所需的脚本(
trigger login.sh
trigger logout.sh

您可以使用
stat
md5sum

示例供参考(main.sh)


安排一个
crontab
作业,该作业每10分钟运行一次main.sh脚本

如果日志文件在过去10分钟内有更新,是否要运行trigger-login.sh和trigger-logout.sh?是的,如果日志文件中有任何更新,我将触发shell文件。与每个xrdp会话一样,我的日志生成特定的条目。如果shell脚本获取特定内容的最后10分钟活动并将更新发送到my DB将有助于跟踪您想要运行trigger-login.sh和trigger-logout.sh,如果日志文件中最近10分钟有更新?是的,如果我的日志文件中有任何更新,我将触发shell文件。与每个xrdp会话一样,我的日志生成特定的条目。如果shell脚本获取特定内容的最后10分钟活动并将更新发送到my DB,将有助于跟踪
#!/bin/bash

touch /tmp/checkMD5

nchksum=`md5sum a.out | awk -F " " '{print $1}'`
ochksum=`cat /tmp/checkMD5`

if [ "$nchksum" == "$ochksum" ]; then
        echo "both are same"
else
        sh trigger-login.sh
        sh trigger-logout.sh
fi

echo $nchksum >/tmp/checkMD5