venerdì 12 marzo 2021

RESTART automatico servizi linux

Una corretta amministrazione di un server consiste nel verificare e nel caso restartare i servizi che devono girare sul nostro server Linux.

Inanzitutto occorre creare uno script, nel mio caso è in Bash

#!/bin/bash
# Nome del servizio Zabbix Server
SERVICE="zabbix-server"
# Controlla se Zabbix Server è in esecuzione
if ! systemctl is-active --quiet $SERVICE; then
    echo "$SERVICE non è in esecuzione. Tentativo di avvio..."
    systemctl start $SERVICE
    sleep 5  # Attendere qualche secondo per verificare se riparte
    if systemctl is-active --quiet $SERVICE; then
        echo "$SERVICE avviato con successo."
    else
        echo "Avvio fallito. Terminazione forzata e riavvio..."
        pkill -9 zabbix_server
        sleep 2
        systemctl start $SERVICE
        if systemctl is-active --quiet $SERVICE; then
            echo "$SERVICE avviato con successo dopo il riavvio forzato."
        else
            echo "Errore: impossibile avviare $SERVICE."
        fi
    fi
else
    echo "$SERVICE è già in esecuzione. Nessuna azione necessaria."
fi
oppure
#!/bin/bash
service zabbix-server status | grep 'active (running)' > /dev/null 2>&1
if [ $? != 0 ]
then
        service zabbix-server restart > /dev/null
fi
oppure
#!/bin/bash
/etc/init.d/zabbix-agent status | grep running > /dev/null
if [ $? != 0 ]
then
        /etc/init.d/zabbix-agent restart > /dev/null
fi
Salvare lo script con estensione .sh e dare i permessi di scrittura:

chmod +x script.sh

A questo punto è necessario inserirlo nel crontab, impostando quando lo vogliamo eseguire.
Per vedere gli attuali crontab:

crontab -l

Per editare i crontab:

crontab -e
premere "i" per entrare nella modalità d'inserimento

La figura sotto spiega il criterio del Crontab









di seguito alcuni esempi:
0 */1 * * * /root/script.sh
Lo script viene eseguito ogni ora
0 8 1 1 * /root/script.sh
Lo script viene eseguito alle ore 8.00 ogni primo dell'anno
* * * * * sleep 30; /root/script.sh
Lo script viene eseguito ogni 30 sec.
Per salvare e uscire
ESC --> : --> wq


TCP MSS

L'MSS (Maximum segment size) è un parametro TCP che indica la quantità massima di paylod (unità di misura byte) che un dispositivo di co...