【发布时间】:2019-09-30 15:37:40
【问题描述】:
我正在尝试运行 bash 脚本以从 Stackdriver 日志中获取特定行,如果找到则应该退出,或者休眠 5 分钟,然后通过从 环境变量 然后应用它,如果在第二次尝试时没有找到,那么它应该会失败。
指定一个环境变量来获取当前时间戳,以便我可以传递到日志中。
CHIEF=$(date +%Y-%m-%dT%H:%M:%S.000Z)
我用来流式传输日志的命令是
gcloud 日志读取 "logName=projects/testing1/logs/syslog timestamp>=\"2019-09-25T10:55:56.992Z\" AND timestamp<=\"$CHIEF\""
假设我想提取日志“拒绝访问”,请问我该如何构造这个 bash 脚本?
谢谢
【问题讨论】:
-
你不是
getting current date from environment variable。您从系统时钟中获取它并将其分配给一个变量。您分配给它的变量没有被放入环境中。 (仅仅用全大写命名变量并不能使其成为环境变量。) -
您可能想要使用的一般模式是:
cmd | if grep -q pattern; then ...; else ...; fi
标签: bash logging scripting environment-variables gcloud