如何在一个 systemd 文件中 运行 多个 carbon 服务?
How do I run multiple carbon services in one systemd file?
目前,我 运行 在启动我的石墨碳实例时使用以下 bash 脚本:
carbon_cache_count=8
carbon_relay_count=1
carbon_aggr_count=1
for i in `seq ${carbon_relay_count}`; do sudo python /opt/graphite \
/bin/carbon-relay.py --instance=${i} start; done
for i in `seq ${carbon_cache_count}`; do sudo python /opt/graphite \
/bin/carbon-cache.py --instance=${i} start; done
for i in `seq ${carbon_aggr_count}`; do sudo python /opt/graphite \
/bin/carbon-aggregator.py --instance=${i} start; done
我如何使用 systemd 做同样的事情?我是否需要使用 ExecStart 阐明每个碳实例,或者是否有一种方法可以遍历循环值以将它们全部加载到一个 ExecStart 行中,我该怎么做?
我看过一个使用的示例:
ExecStart=/opt/graphite/bin/carbon-cache.py --instance=%i start
但不确定在哪里定义了 %i,或者它是否也会达到与我的 bash 脚本相同的结果。任何想法、建议和资源将不胜感激。
对于 systemd,您可以使用实例。
查看 epel7 rpm 包中的单元文件,例如:
https://src.fedoraproject.org/rpms/python-carbon/blob/epel7/f/carbon-cache%40.service
刚开始 运行:
systemctl 启动'carbon-cache@1'
有关 systemd 实例的更多信息:
目前,我 运行 在启动我的石墨碳实例时使用以下 bash 脚本:
carbon_cache_count=8
carbon_relay_count=1
carbon_aggr_count=1
for i in `seq ${carbon_relay_count}`; do sudo python /opt/graphite \
/bin/carbon-relay.py --instance=${i} start; done
for i in `seq ${carbon_cache_count}`; do sudo python /opt/graphite \
/bin/carbon-cache.py --instance=${i} start; done
for i in `seq ${carbon_aggr_count}`; do sudo python /opt/graphite \
/bin/carbon-aggregator.py --instance=${i} start; done
我如何使用 systemd 做同样的事情?我是否需要使用 ExecStart 阐明每个碳实例,或者是否有一种方法可以遍历循环值以将它们全部加载到一个 ExecStart 行中,我该怎么做?
我看过一个使用的示例:
ExecStart=/opt/graphite/bin/carbon-cache.py --instance=%i start
但不确定在哪里定义了 %i,或者它是否也会达到与我的 bash 脚本相同的结果。任何想法、建议和资源将不胜感激。
对于 systemd,您可以使用实例。
查看 epel7 rpm 包中的单元文件,例如:
https://src.fedoraproject.org/rpms/python-carbon/blob/epel7/f/carbon-cache%40.service
刚开始 运行:
systemctl 启动'carbon-cache@1'
有关 systemd 实例的更多信息: