Pular para o conteúdo

Como executar automaticamente scripts na inicialização do SystemD Linux

Dica publicada em Linux / Introdução
diego santana diego_santana
Hits: 23.601 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Como executar automaticamente scripts na inicialização do SystemD Linux

Aqueles que trabalham com Linux a algum tempo sabem que é essencial executar scripts na inicialização, seja um script de firewall, limpeza de algum diretório, script de backup etc, as possibilidades são infinitas.

SYSTEMD SERVICE UNIT

Primeiro crie um script de inicialização systemd chamado "disk-space-check.service" com o conteúdo abaixo e coloque dentro do diretório /etc/systemd/system/:

[Unit]
After=mysql.service

[Service]
ExecStart=/usr/local/bin/disk-space-check.sh

[Install]
WantedBy=default.target

  • After: instrui o systemd quando o script deverá ser executado. No nosso caso, o script executará depois que o serviço mysql estiver sido inicializado.
  • ExecStart: este campo exige o caminho completo até o script a ser executado.
  • WantedBy: o alvo de boot ao qual o systemd unit deverá ser instalado.

As opções configuradas acima são o mínimo que o systemd necessita para executar o script na inicialização do sistema. Para mais informações e opções a serem utilizadas veja systemd.service nas páginas de manual.

SCRIPT A SER EXECUTADO

Agora nós criaremos o script para ser executado durante o boot time do systemd. A localização e o nome do script já está definido no service unit criado anteriormente, "/usr/local/bin/disk-space-check.sh". O conteúdo do script é bem simples:

#!/bin/bash

date > /root/disk_space_report.txt
du -sh /home/ >> /root/disk_space_report.txt
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

CONFIGURAÇÃO E INSTALAÇÃO

Antes de dar um reboot no sistema temos que tornar o script executável, digite o seguinte comando:

# chmod +x /usr/local/bin/disk-space-check.sh

Instale o service unit criado no passo 1 para que ele possa ser executado na inicialização.

# chmod 664 /etc/systemd/system/disk-space-check.service
# systemctl daemon-reload
# systemctl enable disk-space-check.service


Created symlink from /etc/systemd/system/default.target.wants/disk-space-check.service to /etc/systemd/system/disk-space-check.service.

Se você quiser testar o script antes de reinicializar o sistema execute o seguinte comando:

# systemctl start disk-space-check.service
# cat /root/disk_space_report.txt
Thursday 7 July  11:30:25 AEST 2016
1.5G    /home/

Tudo pronto. Depois de reinicializar seu sistema Linux, o systemd invocará o shell script criado e executará no boot time.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Nenhuma dica encontrada.

Antico - Um leve Window Manager em QT4 para Linux

Relatórios do iReport no PHP com PHPJasperXML

Repositório local com Yum

Como criar um atalho de navegação anônima no Chrome ou no Chromium

Baixar e instalar o Mozilla FireFox 3

#1 Comentário enviado por MrBlackWolf em 31/01/2017 - 09:39h
O systemd seria ótimo se não fosse guloso hahahahahahaha.

Contribuir com comentário

Entre na sua conta para comentar.