diff --git a/backup.sh b/backup.sh
index bdad517..fb1d71d 100644
--- a/backup.sh
+++ b/backup.sh
@@ -4,12 +4,24 @@
# Variables
SERVER_FILE="https://git.ivanch.me/ivanch/server-scripts/raw/branch/main/backup.sh"
SERVER_OK=1
+HOSTNAME=$(cat /etc/hostname)
# Check if the server file exists
curl -s --head $SERVER_FILE | head -n 1 | grep -E "HTTP/[12] [23].." > /dev/null
if [ $? -ne 0 ]; then
+NOTIFY_URL="http://notify.haven"
+
+# Function to send notification
+send_notify() {
+ local title="$1"
+ local message="$2"
+ curl -s -X POST "$NOTIFY_URL" \
+ -H "Content-Type: application/json" \
+ -d "{\"title\": \"$title\", \"message\": \"$message\"}"
+}
echo "Error: $SERVER_FILE not found." >&2
+ send_notify "[Docker Backup][$HOSTNAME] Error" "❌ Server file not found: $SERVER_FILE"
SERVER_OK=0
fi
@@ -48,19 +60,34 @@ REMOTE_DIR="/export/Backup/Docker/$(cat /etc/hostname)"
# Create a compressed backup file
zip -r $BACKUP_FILE $SOURCE_DIR
+# Create a compressed backup file
+if ! zip -r $BACKUP_FILE $SOURCE_DIR; then
+ send_notify "Backup Error" "❌ Failed to create backup archive for: $SOURCE_DIR"
+ exit 1
+fi
+
# Check if remote path exists
-ssh $REMOTE_USER@$REMOTE_HOST "mkdir -p $REMOTE_DIR"
+if ! ssh $REMOTE_USER@$REMOTE_HOST "mkdir -p $REMOTE_DIR"; then
+ send_notify "[Docker Backup][$HOSTNAME] Error" "❌ Failed to create remote directory: $REMOTE_DIR on $REMOTE_HOST"
+ exit 1
+fi
# Transfer the backup file to the remote server
-scp $BACKUP_FILE $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR
+if ! scp $BACKUP_FILE $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR; then
+ send_notify "[Docker Backup][$HOSTNAME] Error" "❌ Failed to transfer backup file to remote server: $REMOTE_HOST:$REMOTE_DIR"
+ exit 1
+fi
# Remove the backup file
rm $BACKUP_FILE
# Erase last 7 days backups from remote server
-ssh $REMOTE_USER@$REMOTE_HOST "find $REMOTE_DIR -type f -name 'docker_backup_*' -mtime +7 -exec rm {} \;"
+if ! ssh $REMOTE_USER@$REMOTE_HOST "find $REMOTE_DIR -type f -name 'docker_backup_*' -mtime +7 -exec rm {} \;"; then
+ send_notify "[Docker Backup][$HOSTNAME] Warning" "⚠️ Failed to clean old backups on remote server: $REMOTE_HOST:$REMOTE_DIR"
+fi
-# Exit
+# Success notification
+send_notify "[Docker Backup][$HOSTNAME] Success" "✅ Backup completed successfully for: $SOURCE_DIR to $REMOTE_HOST:$REMOTE_DIR"
echo "Backup completed successfully"
exit 0