LINUX: Avviare Shell Scripts al Boot

Vediamo un modo per eseguire degli script al boot di una macchina Linux. Il servizio che consente l’avvio e’ il systemctl

ad esempio creiamo uno script che all’avvio elimini tutte le regole di INPUT al firewall con il comando nano /root/regolafirewall.sh con il seguente contenuto :

#!/bin/bash

iptables -P INPUT DROP

ora con il comando chmod 777 /root/regolafirewall.sh concediamo i permessi di esecuzione allo script.

Ora creiamo il servizio che poi ci consentira’ di avviare all’avvio lo scritp portiamoci nella directory /etc/systemd/system e creiamo un file regolafirewall.service

all’interno di questo file scriviamo il seguente codice :

[Unit]
Description=Script per cancellazione regole input

[Service]
ExecStart=/root/regolafirewall.sh
ExecStop=/root/altro_script_da_eseguire_allo_stop.sh

[Install]
WantedBy=multi-user.terget

I vari parametri sono abbastanza chiari, i due ExecStart e ExecStop indicano i due script che devono essere richiamati al comando systemctl start <service> e systemctl stop <service>. Se lo script da lanciare e’ lo stesso, allora il parametro ExecStop non serve che sia specificato.

nella sezione Install il parametro WantedBy specifica che l’avvio del servizio vale per tutti gli utenti del sistema.

Ora per avviare il servizio/script possiamo lanciare il comando:
systemctl start regolafirewall.service

Mentre per farlo partire al boot possiamo lanciare il comando:
system enable regolafirewall.service

questo comando e’ permanente pertanto basta lanciarlo una volta e il servizio/script verrĂ  eseguito ad ogni avvio .

Lascia un commento

Il tuo indirizzo email non sarĂ  pubblicato. I campi obbligatori sono contrassegnati *