首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nomad周期不运行bash脚本

Nomad周期不运行bash脚本
EN

Stack Overflow用户
提问于 2018-04-04 09:00:37
回答 3查看 1.5K关注 0票数 0

下面是游牧民族的定期任务。其目的是每5分钟在主机nomad3上运行一个脚本。我还包括了下面脚本的内容。

代码语言:javascript
复制
job "periodic" {
  datacenters = ["dc1"]

  type = "batch"

  periodic {
    cron             = "*/5 * * * * *"
    prohibit_overlap = true
    time_zone        = "UTC"
  }

  group "periodic" {
    count = 1

    restart {
      interval = "5m"
      attempts = 10
      delay    = "25s"
      mode     = "delay"
    }

    task "cronjob-test" {
      driver = "exec"

      constraint {
        attribute = "${node.unique.name}"
        value = "nomad3"
      }

      config {
        command = "/bin/bash"
        args = ["/usr/local/bin/cronjob-test.sh"]
      }

      resources {
        cpu = 100 # Mhz
        memory = 10 # MB

        network {
          mbits = 10

          # Request for a dynamic port
          port "uptime" {
          }
        }
      }
    }
  }
}

cronjob-test.sh包含:

代码语言:javascript
复制
#!/usr/bin/env bash

DATE=$(date '+%F-%s')
touch /tmp/$DATE

脚本位于游牧主机nomad3上。我应该看到一个/tmp格式的文件,格式在bash脚本中,但是我没有看到这个。正在发生的事情需要帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-27 10:42:15

看来我使用的是exec驱动程序,这个驱动程序是彩色的。我试着使用raw_exec,它成功了。然后,我重新尝试使用exec,在配置中的chroot_env中添加目标目录,它也能工作。

票数 0
EN

Stack Overflow用户

发布于 2018-04-04 09:24:54

下面的脚本将在/tmp下面创建一个0字节文件:-

代码语言:javascript
复制
DATE=$(date '+%F-%s')
touch /tmp/$DATE //file name would be 2018-04-04-%s

检查您的日期变量是否正确设置。只需添加像$DATE这样的回显命令,并检查是否接受。

票数 1
EN

Stack Overflow用户

发布于 2019-07-23 01:13:36

使用以下代码:

代码语言:javascript
复制
config {
    command = "/bin/bash"
    args = ["-c","/usr/local/bin/cronjob-test.sh"]
  }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49646850

复制
相关文章

相似问题

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