mirror of
https://github.com/acedanger/shell.git
synced 2025-12-05 22:50:18 -08:00
added calibre backup script
This commit is contained in:
42
backup-calibre.sh
Executable file
42
backup-calibre.sh
Executable 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
|
||||
Reference in New Issue
Block a user