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_