首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >荚中的脚本不会被执行。

荚中的脚本不会被执行。
EN

Stack Overflow用户
提问于 2022-05-20 14:48:11
回答 1查看 50关注 0票数 0

我有一个EKS集群和一个RDS (mariadb)。我试图通过CronJob中的脚本对给定的数据库进行备份。CronJob对象如下所示:

代码语言:javascript
复制
apiVersion: batch/v1
kind: CronJob
metadata:
  name: mysqldump
  namespace: mysqldump
spec:
  schedule: "* * * * *"
  concurrencyPolicy: Replace
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: mysql-backup
            image: viejo/debian-mysqldump:latest
            envFrom:
            - configMapRef:
                name: mysqldump-config
            args:
            - /bin/bash
            - -c
            - /root/mysqldump.sh "(${MYSQLDUMP_DATABASES})" > /proc/1/fd/1 2>/proc/1/fd/2 || echo KO > /tmp/healthcheck
            resources:
              limits:
                cpu: "0.5"
                memory: "0.5Gi"
          restartPolicy: OnFailure

脚本名为mysqldump.sh,它从ConfigMap对象获取所有必要的详细信息。它在环境变量MYSQLDUMP_DATABASES中对数据库进行转储,并将其移到S3桶中。

注意:我将把一些变量移到一个Secret__中,但是在我需要使用它之前。

什么都没发生。脚本从未被执行--我尝试在脚本之前放置一个"echo starting The backup",并在它之后添加"echo backup“,但我没有看到它们中的任何一个。如果我访问容器并手动执行相同的精确命令,它就会工作:

代码语言:javascript
复制
root@mysqldump-27550908-sjwfm:/# /root/mysqldump.sh "(${MYSQLDUMP_DATABASES})" > /proc/1/fd/1 2>/proc/1/fd/2 || echo KO > /tmp/healthcheck
root@mysqldump-27550908-sjwfm:/#

有人能指出一个可能的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2022-05-20 15:01:38

尝试将args更改为command

代码语言:javascript
复制
...
command:
- /bin/bash
- -c
- /root/mysqldump.sh "(${MYSQLDUMP_DATABASES})" > /proc/1/fd/1 2>/proc/1/fd/2 || echo KO > /tmp/healthcheck
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72320893

复制
相关文章

相似问题

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