监视文件中是否有新条目的最佳方法

问题描述

我每分钟都使用 FTP 连接(唯一选项)不断从服务器中提取日志文件

我有一个脚本,它在之后运行并将所有类似的文件名排序到单独的文件夹中。登录日志转到登录,管理日志转到管理员等。移动后,它将所有文件合并到每个类似文件夹的主日志文件中。

我正在尝试监控新条目的日志并使用 webhook 发布登录信息。但是,由于该文件始终是一个文件,因此它会在每次有人登录时以及由于是新文件而每分钟发布日志中的所有条目。

如何使用 append 完成文件的合并,而不是一直创建一个文件

这是我的合并脚本:

#! /bin/bash
folder=/storage/downloads/ftp/archives

cat $folder/login/login_*.log | sort -n > $folder/all-logins.log
cat $folder/admin/admin_*.log | sort -n > $folder/all-admins.log

这是我最近从这里更正的监控脚本。

#!/bin/bash
tail -F /storage/downloads/ftp/all-logins.log |\
  while IFS=':(' read -r date x user x; do 
    echo "$user logged in at $date"
    if [ $? = 0 ]
     then
      curl -sfSL -X POST -H "Content-Type: application/json" -d "{\"content\":\"$user logged in at $date\"}" "url"
    fi
    done
exit

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)