email com lista de montagens com falha [duplicado]

0

Estou aprendendo scripts, Me deparei com este script

#!/bin/bash

A='awk '{print $2}' /etc/fstab | grep -i "^/" | egrep -v '/etc/fstab|proc|sys|shm|pts''

for i in $A; do grep "$i" /proc/mounts > /dev/null
    if [ $? -eq 0 ]; then
        echo $i "TRUE"
    else
        echo $i "FALSE"
    fi
done

Existe uma maneira de enviar um email com a lista de montagens que não estão montadas. Como se False, envie um email

Obrigado

    
por Zaree 29.03.2017 / 21:45

1 resposta

0

Para enviar o resultado do script para o email, eu faria algo semelhante a isto:

#!/bin/bash

F='mktemp'

A='awk '{print $2}' /etc/fstab | grep -i "^/" | egrep -v '/etc/                 fstab|proc|sys|shm|pts''

for i in $A; do grep "$i" /proc/mounts > /dev/null
    if [ $? -ne 0 ]; then
        echo $i "FALSE"
    fi
done >"$F"

if test -s "$F"; then
        ( echo "To: [email protected]"; \
    echo "Subject: mount failures"; \
    echo "";  cat "$F" ) \
    | /usr/sbin/sendmail [email protected] [email protected]
fi

Essencialmente, estou supondo que você não precisa saber sobre as montagens que estão ok, apenas aquelas que precisam ser corrigidas.

Eu encontrei sub-shells () para ser útil em casos como este, poderia ser feito de forma diferente usando uma única instrução printf , mas senti que isso fluía melhor.

    
por 29.03.2017 / 22:00