作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想执行一个带有一些参数的脚本作为 cron 作业。我已经使用 crontab -e
配置了 crontab有以下内容
*/2 * * * * /root/todo-api/workspace/docker.sh c4e842c79337
*/2 * * * * /root/todo-api/workspace/docker.sh
CONTAINER=$1
RUNNING=$(docker inspect --format="{{.State.Running}}" $CONTAINER 2> /dev/null)
if [ $? -eq 1 ]; then
echo "UNKNOWN - $CONTAINER does not exist."
exit 3
fi
if [ "$RUNNING" == "false" ]; then
echo "CRITICAL - $CONTAINER is not running."
curl -H "Content-type: application/json" -X POST -d '{"routing_key": "3ef61cda125048a390d46cdb8d425590","event_action": "trigger","payload": {"summary": "Docker Container '$CONTAINER' down", "source": "'$CONTAINER'", "severity": "critical" }}' "https://events.pagerduty.com/v2/enqueue"
exit 2
fi
echo "OK"
最佳答案
第一个 crontab 条目看起来是正确的。由于没有#! /bin/bash
行,您可能需要将 bash 放在调用前面,例如
*/2 * * * * /bin/bash /root/todo-api/workspace/docker.sh c4e842c79337
Usage
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
$CONTAINER
的第二次调用必须失败,因为
inspect
需要一个名称或一些 ID。
2>/dev/null
.
关于bash - 如何在cron中调用脚本时传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46570273/
我是一名优秀的程序员,十分优秀!