feat: enhance backup-media.sh with logging and additional backups for jellyseerr

This commit is contained in:
Peter Wood
2025-03-13 15:44:00 -04:00
parent 280baf8357
commit 75a8c782bb

View File

@@ -1,14 +1,50 @@
#!/bin/bash #!/bin/bash
# Create log directory if it doesn't exist
mkdir -p /mnt/share/media/backups/logs
# Log file with date and time
LOG_FILE="/mnt/share/media/backups/logs/backup_log_$(date +%Y%m%d_%H%M%S).log"
# Function to log file details
log_file_details() {
local src=$1
local dest=$2
local size=$(du -sh "$dest" | cut -f1)
echo "Source: $src" >> "$LOG_FILE"
echo "Destination: $dest" >> "$LOG_FILE"
echo "Size: $size" >> "$LOG_FILE"
echo "------------------------" >> "$LOG_FILE"
}
# Backup and log details
docker cp sonarr:/config/Backups/scheduled /mnt/share/media/backups/sonarr/ docker cp sonarr:/config/Backups/scheduled /mnt/share/media/backups/sonarr/
log_file_details "sonarr:/config/Backups/scheduled" "/mnt/share/media/backups/sonarr/"
docker cp radarr:/config/Backups/scheduled /mnt/share/media/backups/radarr/ docker cp radarr:/config/Backups/scheduled /mnt/share/media/backups/radarr/
docker cp prowlarr:/config/Backups/scheduled /mnt/share/media/backups/prowlarr log_file_details "radarr:/config/Backups/scheduled" "/mnt/share/media/backups/radarr/"
docker cp audiobookshelf:/metadata/backups /mnt/share/media/backups/audiobookshelf
docker cp tautulli:/config/backups /mnt/share/media/backups/tautulli docker cp prowlarr:/config/Backups/scheduled /mnt/share/media/backups/prowlarr/
docker cp sabnzbd:/config/sabnzbd.ini /mnt/share/media/backups/sabnzbd/sabnzbd_$(date +%Y%m%d_%H%M%S).ini log_file_details "prowlarr:/config/Backups/scheduled" "/mnt/share/media/backups/prowlarr/"
docker cp audiobookshelf:/metadata/backups /mnt/share/media/backups/audiobookshelf/
log_file_details "audiobookshelf:/metadata/backups" "/mnt/share/media/backups/audiobookshelf/"
docker cp tautulli:/config/backups /mnt/share/media/backups/tautulli/
log_file_details "tautulli:/config/backups" "/mnt/share/media/backups/tautulli/"
docker cp sabnzbd:/config/sabnzbd.ini /mnt/share/media/backups/sabnzbd/sabnzbd_$(date +%Y%m%d).ini
log_file_details "sabnzbd:/config/sabnzbd.ini" "/mnt/share/media/backups/sabnzbd/sabnzbd_$(date +%Y%m%d).ini"
mkdir -p /mnt/share/media/backups/jellyseerr/backup_$(date +%Y%m%d)
docker cp jellyseerr:/config/db/ /mnt/share/media/backups/jellyseerr/backup_$(date +%Y%m%d)/
log_file_details "jellyseerr:/config/db/" "/mnt/share/media/backups/jellyseerr/backup_$(date +%Y%m%d)/"
docker cp jellyseerr:/config/settings.json /mnt/share/media/backups/jellyseerr/backup_$(date +%Y%m%d)/
log_file_details "jellyseerr:/config/settings.json" "/mnt/share/media/backups/jellyseerr/backup_$(date +%Y%m%d)/"
# send notification upon completion # send notification upon completion
curl \ curl \
-H tags:popcorn,backup,sonarr,radarr,prowlarr,sabnzbd,audiobookshelf,tautulli,${HOSTNAME} \ -H tags:popcorn,backup,sonarr,radarr,prowlarr,sabnzbd,audiobookshelf,tautulli,jellyseerr,${HOSTNAME} \
-d "A backup of media-related databases has been saved to the /media/backups folder" \ -d "A backup of media-related databases has been saved to the /media/backups folder" \
https://notify.peterwood.rocks/lab https://notify.peterwood.rocks/lab