BackupPC 알림 셸 스크립트가 작동하지 않습니다.

BackupPC 알림 셸 스크립트가 작동하지 않습니다.

Ubuntu 16.04 서버에 설치한 BackupPC를 사용하여 백업이 성공할 때마다 이메일 알림을 받고 싶습니다. BackupPC는 백업이 실패하지 않는 한 이메일을 통해 알림을 보내지 않습니다. 다음 스크립트를 실행하면 "실패했습니다"라는 이메일을 받습니다.

백업 설정에 다음을 입력했습니다.

$Conf{DumpPostUserCmd} = 

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

이것은 쉘 스크립트입니다:

#!/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

내가 받은 이메일은 다음과 같습니다.

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

내 쉘 스크립트에 명시된 관련 정보가 이메일에 없는 이유와 "실패"라고 표시되는 이유가 무엇인지 궁금합니다.

답변1

명령을 인용하고 끝에 세미콜론을 추가해 보십시오.

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

~에서컴퓨터 문서 백업:

구성 파일은 BackupPC에서 실행되는 Perl 스크립트이므로 편집 시 파일 구문(구두점, 따옴표 등)을 유지하도록 주의해야 합니다. config.pl을 변경하려면 CVS, RCS 또는 기타 소스 제어 방법을 사용하는 것이 좋습니다.

또는 다음을 사용할 수 있습니다.여기 문서이메일을 생성하려면:

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_

관련 정보