首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shell和cron之间的Curator版本差异

shell和cron之间的Curator版本差异
EN

Stack Overflow用户
提问于 2016-09-26 22:54:56
回答 1查看 306关注 0票数 0

我最近把elasticsearch-curator从3.4.1升级到了4.1.0。我还创建了一个新的配置文件和操作文件,所需的操作文件与我在3.4.1中执行的操作相同。实际情况是,当cron运行脚本时,它显示为3.4.1。如果我手动运行该脚本,它将显示为4.1.0

我已经删除了apt包并迁移到pip包。这是我能想到的唯一可能导致这种情况的原因。

下面是脚本,它将从cron.daily运行(临时移动到cron.hourly进行测试,不负责任地设置为每分钟运行一次):

代码语言:javascript
复制
#!/bin/sh
/usr/local/bin/curator --version
/usr/local/bin/curator --config /etc/curator/curator.yml /etc/curator/actions/01-nightly-close
/usr/local/bin/curator --config /etc/curator/curator.yml /etc/curator/actions/02-nightly-optimize

我能够以sudo的身份运行脚本,版本号显示为4.1.0:

代码语言:javascript
复制
/etc/cron.hourly/curator
curator, version 4.1.0

如果我让cron运行该作业,它会显示版本3.4.1:

代码语言:javascript
复制
/etc/cron.hourly/curator
curator, version 3.4.1
Error: no such option: --config
Error: no such option: --config
run-parts: /etc/cron.hourly/curator exited with return code 2

此外,当我运行which curator时,它指向/usr/local/bin/curator

编辑:为了回答untergeek的问题,这里是/usr/local/bin/curator的内容

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

# -*- coding: utf-8 -*-
import re
import sys

from curator.curator import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-27 00:14:36

我设法让它正常工作--我最终从我的节点中清除了curator的所有实例,包括pip和apt版本,然后对每个https://www.elastic.co/guide/en/elasticsearch/client/curator/current/installation.html运行以下命令

代码语言:javascript
复制
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb http://packages.elastic.co/curator/4/debian stable main" >> /etc/apt/sources.list.d/curator.list
sudo apt-get update && sudo apt-get install python-setuptools python-elasticsearch-curator
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39706039

复制
相关文章

相似问题

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