我是 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