Problema ao configurar o serviço systemd no sistema Centos 7

1

Um aplicativo de um fornecedor foi instalado com um usuário não raiz. Isso é suportado pelo fornecedor e tudo é bom. Portanto, o usuário não-root possui todos os executáveis e arquivos do aplicativo instalado. Um dos requisitos de software é definir uma variável de ambiente em qualquer perfil de usuário que usará o produto. Na instalação não-raiz, apenas o usuário que o instalou estará usando-o, portanto, tenho o seguinte definido no .bash_profile :

export CFROOT=/usr/opt/tibco/mft/ps

e depois eu tenho

export PATH=$CFROOT:$PATH

e tudo está bem. O usuário pode estar logado e iniciar o daemon e a vida é boa. O usuário também pode efetuar logout e o deamon continuará a ser executado.

Eu quero que este produto seja iniciado na inicialização para eliminar a necessidade de fazer login como usuário e iniciá-lo.

Eu criei um arquivo mftps.service no diretório /usr/lib/systemd/system .

O arquivo de serviço contém as seguintes configurações:

[Unit]
Description=MFT Platform Server Service
After=network.target

[Service]
Type=simple
User=tibcomft
EnvironmentFile=/etc/sysconfig/mftps
ExecStart=/usr/opt/tibco/mft/ps/cfstart
ExecStop=/usr/opt/tibco/mft/ps/cfstop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Nota: Antes de adicionar o EnvironmentFile , recebia constantemente um erro que CFROOT não estava definido. Ao pesquisar essa configuração, encontrei informações sobre isso e adicionei o arquivo /etc/sysconfig/mftps . Neste arquivo sysconfig eu tenho o seguinte:

CFROOT=/usr/opt/tibco/mft/ps
export CFROOT

Nota: As configurações acima são a única maneira de fazer com que o arquivo sysconfig funcione. Se eu tiver algo com o "$", por exemplo, export PATH=$CFROOT:$PATH o systemctl start falha.

Então, o que está acontecendo agora quando eu executo systemctl start mftps.service e exibo o status Eu vejo isto:

[root@centos72sys jbarker]# systemctl status mftps.service
● mftps.service - MFT Platform Server Service
   Loaded: loaded (/usr/lib/systemd/system/mftps.service; disabled; vendor preset: disabled) 
 Active: inactive (dead)

Jan 13 13:12:11 centos72sys systemd[1]: Started MFT Platform Server Service.
Jan 13 13:12:11 centos72sys systemd[1]: Starting MFT Platform Server Service...
Jan 13 13:12:11 centos72sys cfstart[4237]: MFT Platform Server Responder will be started from /usr/opt/tibco/mft/ps
Jan 13 13:12:12 centos72sys cfstart[4237]: Failed To Start CyberResp process. Read /usr/opt/tibco/mft/ps/FailureReason.txt
[root@centos72sys jbarker]#

Quando vejo o FailureReason.txt , declara o seguinte:

cfsend not found in PATH

O executável cfsend está no caminho definido em $CFROOT , mas nada é iniciado quando um usuário executa o comando cfstart , portanto, não sei por que ele está emitindo esse erro.

    
por oldenuf 13.01.2016 / 20:35

0 respostas