shell 和 cron 之间的 Curator 版本差异
Curator version discrepancy between shell and cron
我最近将 elasticsearch-curator 从 3.4.1 升级到了 4.1.0。我还创建了一个新的配置文件和操作文件,以执行我在 3.4.1 中执行的相同操作。会发生什么,当 cron 运行s 脚本时,它显示为 3.4.1。如果我手动 sudo 运行 脚本,它显示为 4.1.0
我已经删除了 apt 包并迁移到 pip 包。这是我能想到的唯一可能导致此问题的原因。
这是脚本,将从 cron.daily 运行(暂时移至 cron.hourly 进行测试,不负责任地每分钟设置为 运行):
#!/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:
/etc/cron.hourly/curator
curator, version 4.1.0
如果我让 cron 运行 工作,它显示版本 3.4.1:
/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
的内容
#!/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())
设法让它工作——我最终从我的节点中清除了 curator 的所有实例,包括 pip 和 apt 版本,然后 运行 每个 https://www.elastic.co/guide/en/elasticsearch/client/curator/current/installation.html 以下命令:
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
我最近将 elasticsearch-curator 从 3.4.1 升级到了 4.1.0。我还创建了一个新的配置文件和操作文件,以执行我在 3.4.1 中执行的相同操作。会发生什么,当 cron 运行s 脚本时,它显示为 3.4.1。如果我手动 sudo 运行 脚本,它显示为 4.1.0
我已经删除了 apt 包并迁移到 pip 包。这是我能想到的唯一可能导致此问题的原因。
这是脚本,将从 cron.daily 运行(暂时移至 cron.hourly 进行测试,不负责任地每分钟设置为 运行):
#!/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:
/etc/cron.hourly/curator
curator, version 4.1.0
如果我让 cron 运行 工作,它显示版本 3.4.1:
/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
#!/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())
设法让它工作——我最终从我的节点中清除了 curator 的所有实例,包括 pip 和 apt 版本,然后 运行 每个 https://www.elastic.co/guide/en/elasticsearch/client/curator/current/installation.html 以下命令:
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