added calibre backup script

This commit is contained in:
Peter Wood
2025-08-05 17:34:21 -04:00
parent c3f04dee65
commit de9b172a66

42
backup-calibre.sh Executable file
View File

@@ -0,0 +1,42 @@
#!/bin/bash
# Calibre Library Backup Script
# This script backs up the Calibre Library to a network share
# Configuration
SOURCE_DIR="/home/acedanger/Calibre Library/"
DEST_DIR="/mnt/share/media/books/"
LOG_FILE="/var/log/calibre-backup.log"
# Function to log messages with timestamp
log_message() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
}
# Check if source directory exists
if [ ! -d "$SOURCE_DIR" ]; then
log_message "ERROR: Source directory does not exist: $SOURCE_DIR"
exit 1
fi
# Check if destination directory is accessible
if [ ! -d "$DEST_DIR" ]; then
log_message "ERROR: Destination directory not accessible: $DEST_DIR"
log_message "Make sure the network share is mounted"
exit 1
fi
# Start backup
log_message "Starting Calibre Library backup..."
log_message "Source: $SOURCE_DIR"
log_message "Destination: $DEST_DIR"
# Perform the backup using rsync
if rsync -rtvp --delete --exclude="*.tmp" "$SOURCE_DIR" "$DEST_DIR" 2>&1 | tee -a "$LOG_FILE"; then
log_message "Backup completed successfully"
exit 0
else
log_message "ERROR: Backup failed with exit code $?"
exit 1
fi