用于收集日志的简单 bash 脚本

用于收集日志的简单 bash 脚本

我是 BASH 脚本的新手,如果可能的话,我需要一点帮助。

假设有一台 UNIX 服务器,我想从中收集一些简单的日志事件(比如 .txt 文件)。假设需要每 15 分钟收集一次日志事件。编写 bash 脚本的最佳方法是什么?此外,使用可用的 Linux 命令和 SSH/SFTP。

这是我目前发现的。

$ sftp remote_username@server_ip_or_hostname

要从远程服务器下载单个文件,请使用 get 命令:

get filename.txt

要从远程系统下载目录,请使用递归 -r 选项:

get -r remote_directory

我如何将其设置为每 15 分钟收集一次?也许可以编写一个脚本来收集数据,然后使用 Cronjob 执行第二个脚本来执行第一个脚本?

抱歉问了这些问题,但我在这里还很新。

谢谢!

答案1

不要尝试用 Bash 脚本来完成整个工作。例如查看监控收集日志事件。从那里您可以触发小脚本或发送邮件。

如果正则表达式匹配则触发脚本的示例配置:

check file mylog with path /var/log/my.log
    noalert root@localhost

    if match 'myregexp' then exec "/etc/myscrips/monit/myscript.sh parameter1 parameter2"
            as uid myuser and gid mygroup

相关内容