首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清除kubernetes荚后缀队列中的所有MAILER-DAEMON消息

如何清除kubernetes荚后缀队列中的所有MAILER-DAEMON消息
EN

Unix & Linux用户
提问于 2020-12-18 11:13:15
回答 1查看 127关注 0票数 0

有一个域foo.com会导致大量的邮件守护进程邮件,所以我想清除那些来自kubernets邮件队列的邮件。我写了一个剧本,但我不确定这是不是正确的方法。

代码语言:javascript
复制
kubectl config use-context 

kubectl exec postfix-pod-0 -n  -- postqueue -p | grep -B2 foo.com | grep MAILER-DAEMON | awk {'print $1'} > q.txt

cat q.txt | xargs -n1 'kubectl exec postfix-pod-0 -n  -- /usr/sbin/postsuper -d - '

我正在成功地从第二个命令中获得所有MAILER的队列id。但不确定xargs是否将队列id从q.txt逐个传递给后置超级程序。

如果我得到了一个工作脚本,我希望创建一个脚本来清除集群中所有foo.com邮箱-守护进程的所有邮件。

EN

回答 1

Unix & Linux用户

发布于 2021-12-07 03:01:41

代码语言:javascript
复制
kubectl -n namespace exec -ti postfix-pod-0 -- /bin/sh -c "postqueue -j | grep ${DEL_ADDR} | jq -r .queue_id | xargs -I {} postsuper -d {}"

笛卡尔。在"--“之后写运行命令,在本例中是/bin/sh,带有参数。

代码语言:javascript
复制
kubectl -n namespace exec -ti postfix-pod-0 --

带有双引号管道的Shell命令将在pod上运行:

代码语言:javascript
复制
/bin/sh -c "command"

以json格式获取后缀队列。Avery印刷线是json对象:

代码语言:javascript
复制
postqueue -j

现在,我们可以通过grep命令获得必要的行并传递给jq。

代码语言:javascript
复制
grep ${DEL_ADDR}

在jq消息id值中:

代码语言:javascript
复制
jq -r .queue_id

接下来,我们将queue_id传递给xarg,并通过后超级-d删除它:

代码语言:javascript
复制
xargs -I {} postsuper -d {}
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/625097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档