如何在一个systemd文件中运行多个碳服务?

时间:2018-03-22 18:22:39

标签: centos7 systemd graphite rhel7

目前,我在启动石墨碳实例时运行以下bash脚本:

 function loadData() {
var id=$('#projectId').val();
    $.ajax({
      type: 'GET',
      url: '/teammessage/'+id,
      success: function(value){
        console.log(value);
        $(value.success).each(function(e,k){
       $('#test').html(value.success[e].team_message);
        });
      }
    });
    }

我如何使用systemd做同样的事情?我是否需要使用ExecStart澄清每个碳实例,或者是否有办法迭代循环值以在一个ExecStart行中加载它们,我怎么能这样做?

我看过一个使用的例子:

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

但不确定%i的定义位置,或者是否也会与我的bash脚本达到相同的结果。任何想法,建议和来源将不胜感激。

1 个答案:

答案 0 :(得分:2)

对于systemd,您可以使用实例。

请参阅epel7 rpm软件包中的单元文件,例如:

https://src.fedoraproject.org/rpms/python-carbon/blob/epel7/f/carbon-cache%40.service

开始运行:

systemctl start' carbon-cache @ 1'

有关systemd实例的更多信息:

http://0pointer.de/blog/projects/instances.html