Como executar automaticamente o script de shell na inicialização inicial no Systemd Linux

Como executar automaticamente o script de shell na inicialização inicial no Systemd Linux

A configuração a seguir discutirá um exemplo básico sobre como executar o script de shell durante um tempo de inicialização no Systemd Linux. Talvez lá várias razões pelas quais você pode querer executar o script de shell durante a inicialização do Linux, como, por exemplo, para iniciar um serviço personalizado específico, verificar o espaço do disco, criar um backup etc.

O exemplo a seguir abaixo servirá como um modelo básico para ser modificado posteriormente para atender às suas necessidades específicas. No exemplo abaixo, verificaremos um espaço em disco de um /lar/ diretório durante um tempo de inicialização e escreva um relatório para /raiz/ diretório.

Unidade de Serviço Systemd

Primeiro, precisamos criar um script de inicialização do Systemd, por exemplo,.Verifique o espaço em disco.serviçoe coloque -o em /etc/Systemd/System/ diretório. Você pode encontrar o exemplo desse script de inicialização do Systemd abaixo:

[Unidade] depois = mysql.Serviço [Service] ExecStart =/usr/local/bin/disco-space-check.sh [install] wantedby = padrão.alvo 
  • Depois: instrui o Systemd quando o script deve ser executado. No nosso caso, o script será executado após o início do banco de dados MySQL. Outro exemplo poderia ser rede.alvo etc.
  • Exectart: este campo fornece um caminho completo que o script real é executado
  • Wantedby: em qual alvo de inicialização a unidade Systemd deve ser instalada

O exposto acima é um mínimo absoluto que nossa unidade de serviço Systemd deve conter para executar nosso script no momento da inicialização. Para mais informações e opções a serem usadas, consulte Systemd.serviço Página manual:

$ MAN SYSTEMD.serviço 

Script shell startup

Em seguida, criamos nosso script de shell personalizado para ser executado durante o Systemd Startup. O local e o nome do script já estão definidos pela unidade de serviço como /usr/local/bin/disco-space check.sh. O conteúdo do script pode ser simples como:

#!/bin/bash data>/root/disk_space_report.txt du -sh /home />> /root /disk_space_report.TXT 


Configure e instale

Antes de reiniciar nosso sistema, precisamos fazer nosso script executável:

# chmod 744/usr/local/bin/disco-space check.sh 

Em seguida, instale a unidade de serviço Systemd e habilite para que seja executada no momento da inicialização:

# chmod 664/etc/Systemd/System/Disk-space-check.Serviço # SystemCtl Daemon-Reload # SystemCtl Ativar espaço de disco Verificação.Serviço criado Symlink de/etc/Systemd/System/Padrão.alvo.Quer/verifique o espaço em disco.Serviço para/etc/Systemd/System/Disk-space check.serviço. 

Se você deseja testar seu script antes de reiniciar a execução:

# SystemCtl Iniciar o espaço de discos verifica.Serviço # CAT /ROOT /DISK_SPACE_REPORT.txt quinta -feira 7 de julho 11:30:25 AEST 2016 1.5g /home / 

Tudo pronto. Depois de reiniciar seu sistema Linux, a unidade Systemd acima invocará o script do shell para ser executado durante o tempo de inicialização.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Ubuntu 20.04 truques e coisas que você pode não saber
  • Download do Linux
  • Coisas para instalar no Ubuntu 22.04
  • Melhor distro Linux para desenvolvedores
  • Como imprimir a árvore do diretório usando o Linux
  • Sistema Linux Hung? Como escapar para a linha de comando e…