PBS + Rclone Backup Email Notification Setup for PacketRealm.io

This document outlines how to configure email notifications for Proxmox Backup Server (PBS) backup syncs using rclone and msmtp, and send logs via email from [email protected].


1. Email Account: [email protected]

This email address is used as the sender for:

  • PBS backup reports
  • Grafana alerts
  • General system monitoring

You may use it with msmtp as an SMTP client to send messages.


2. Install Required Packages

sudo apt update
sudo apt install msmtp msmtp-mta

3. Configure msmtp

Edit /root/.msmtprc:

defaults
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        /var/log/backup-logs/msmtp.log

account        packetrealm
host           smtp.yourprovider.com
port           587
from           [email protected]
user           [email protected]
passwordeval   "gpg --quiet --batch --yes --passphrase 'your-gpg-pass' --decrypt /root/.monitor-password.gpg"

account default : packetrealm

Make sure permissions are secure:

chmod 600 /root/.msmtprc /root/.monitor-password.gpg

4. Encrypt Your SMTP Password Using GPG

echo 'your-smtp-app-password' | gpg --symmetric --cipher-algo AES256 --batch --yes --passphrase 'your-gpg-pass' -o /root/.monitor-password.gpg

5. Define Log Paths

In your backup script:

DATE=$(date +%Y-%m-%d)
RCLONE_LOG="/var/log/backup-logs/rclone-backup-${DATE//-/}.log"
PBS_LOG="/var/log/backup-logs/pbs-backup-${DATE}.log"
mkdir -p /var/log/backup-logs
exec > >(tee -a "$PBS_LOG") 2>&1

6. Email Notification Block

Append this to the end of your backup script:

TO="[email protected]"
FROM="[email protected]"
SUBJECT_SUCCESS="✅ PBS Backup Success - ${DATE}"
SUBJECT_FAIL="❌ PBS Backup Failure - ${DATE}"

sync
sleep 1

if grep -Ei "error|fail|cannot" "$RCLONE_LOG" > /dev/null; then
  SUBJECT="$SUBJECT_FAIL"
else
  SUBJECT="$SUBJECT_SUCCESS"
fi

msmtp -a default -t <<EOF
To: $TO
From: $FROM
Subject: $SUBJECT
Content-Type: multipart/mixed; boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/plain

PBS backup log for $DATE. See attached.

--BOUNDARY
Content-Type: text/plain
Content-Disposition: attachment; filename="$(basename "$RCLONE_LOG")"

$(cat "$RCLONE_LOG")

--BOUNDARY--
EOF

7. Test It

Manually run the script:

sudo /opt/scripts/pbs-backup-sync.sh

Then check the mailbox for a message from [email protected] with the log file attached.