RedHat 7 (e similares) e novos conceitos/comandos – parte 2

Como relatei na parte 1, houve algumas modificações nesta versão 7 do RedHat (e seus similares). Uma das modificações foi o sistema de inicialização. O, até então predominante, sysVinit foi substituído pelo systemd.

Uma documentação completa sobre o systemd por ser encontrada aqui [1]. Recomendo também a leitura desta documentação [2] elaborada pela comunidade do Arch Linux.

Embora o novo sistema de inicialização seja compatível com o anterior, a grande maioria dos daemons de inicialização foram modificados para o formato novo. Como eu não queria deixar meu inicializador de banco Oracle no formato antigo, resolvi pesquisar como deveria reescrevê-lo no novo formato.

Baseado nas sugestões encontradas em [3] e [4], acabei criando meu inicializador, salvo em /etc/systemd/system/oracle.service, com o seguinte conteúdo:

[Unit]
Description=Oracle database server
After=syslog.target network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/su - oracle -c /home/oracle/bin/oraclestart.sh
ExecStop=/bin/su - oracle -c /home/oracle/bin/oraclestop.sh

[Install]
WantedBy=multi-user.target

Não entrarei no detalhamento dos scripts salvos em meu usuário de banco, pois estes já venho mantendo a bastante tempo, variando de ambiente para ambiente, conforme a necessidade dos clientes. Se quiserem detalhes, entrem em contato comigo.

Bom, depois de criar o inicializador, precisei reinicializar o serviço do systemd, habilitar o serviço criado (do banco) e testar a inicialização. Isto foi feito através da seguinte sequência de comandos:

# systemctl daemon-reload
# systemctl enable oracle.service
# systemctl start oracle.service

Desta forma, consegui migrar meu tradicional e antigo inicializador de banco para a nova versão do inicializador implementada, o systemd!

Em minhas pesquisas, ainda acabei encontrando esta página [5] onde foi criada uma comparação entre os comandos dos dois inicializadores. Recomendo!

 

Referências:

[1] Managing Services with systemd – https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/chap-Managing_Services_with_systemd.html

[2] systemd – https://wiki.archlinux.org/index.php/systemd

[3] Oracle 11gR2 systemd startup script – https://community.oracle.com/thread/2520738

[4] Linux Services (systemd, systemctl) – http://oracle-base.com/articles/linux/linux-services-systemd.php

[5] Cheat Sheet: systemctl vs chkconfig – http://bencane.com/2012/01/19/cheat-sheet-systemctl-vs-chkconfig/

Anúncios

No comments yet

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: