O script de shell para a notificação do BackupPC não está funcionando

1

Eu gostaria de receber uma notificação por e-mail toda vez que um backup bem-sucedido ocorrer usando o BackupPC que eu instalei no servidor Ubuntu 16.04. O BackupPC não envia notificações por e-mail a menos que um backup falhe. Quando executo o script a seguir, recebo o e-mail dizendo "falha".

Eu coloco o seguinte nas configurações de backup:

$Conf{DumpPostUserCmd} = 

/var/lib/backuppc/backuppc_notification_email.sh $xferOK $host $type 
$client $hostIP $share $XferMethod $sshPath $cmdType 

E aqui está o script de shell:

#!/bin/bash
# script to send simple email
# Email To ?
EMAIL="[email protected]"
# Email text/message
EMAILMESSAGE="/var/lib/backuppc/emailmessage.txt"
# Grab the status variables
xferOK=$1
host=$2
type=$3
client=$4
hostIP=$5
share=$6
XferMethod=$7
sshPath=$8
cmdType=$9

# Check if backup succeeded or not.
if [[ $xferOK == 1 ]]; then
        STATUS="has been SUCCESSFUL"
else
        STATUS="has FAILED"
fi

# email subject
SUBJECT="[BackupPC] $STATUS for host: $client"

# Email text/message
echo "The filesystem backup for $host $STATUS" > $EMAILMESSAGE
echo "-----------------------------------------" >>$EMAILMESSAGE
echo "Type: $type" >>$EMAILMESSAGE
echo "Client: $client" >>$EMAILMESSAGE
echo "Host: $host" >>$EMAILMESSAGE
echo "Host IP: $hostIP" >>$EMAILMESSAGE
echo "Share: $share" >>$EMAILMESSAGE
echo "XferMethod: $XferMethod" >>$EMAILMESSAGE
echo "sshPath: $sshPath" >>$EMAILMESSAGE
echo "cmdType: $cmdType" >>$EMAILMESSAGE

# send an email using /bin/mail
/usr/sbin/sendmail -v "$EMAIL" "$SUBJECT" < $EMAILMESSAGE

O seguinte é a mensagem de e-mail que recebo:

The filesystem backup for  has FAILED
-----------------------------------------
Type: 
Client: 
Host: 
Host IP: 
Share: 
XferMethod: 
sshPath: 
cmdType: 

Gostaria de saber por que o e-mail não tem as informações relevantes, conforme declarado no meu shell script, e por que ele diz FAILED?

    
por Marc 17.08.2017 / 12:06

1 resposta

0

Tente citar o comando e adicione ponto-e-vírgula no final:

 $Conf{DumpPostUserCmd} = '/var/lib/backuppc/backuppc_notification_email.sh $xferOK $host $type $client $hostIP $share $XferMethod $sshPath $cmdType';

De Documentação do BackupPC :

The configuration file is a perl script that is executed by BackupPC, so you should be careful to preserve the file syntax (punctuation, quotes etc) when you edit it. It is recommended that you use CVS, RCS or some other method of source control for changing config.pl.

Além disso, você pode usar o documento aqui para criar uma mensagem de e-mail:

cat << _EOF_ > "$EMAILMESSAGE"
The filesystem backup for $host $STATUS 
-----------------------------------------
Type: $type
Client: $client
Host: $host
Host IP: $hostIP
Share: $share
XferMethod: $XferMethod
sshPath: $sshPath
cmdType: $cmdType
_EOF_
    
por 17.08.2017 / 14:54