Last active
February 1, 2026 19:52
-
-
Save giraycoskun/1aafd23f5e9cdc3af6d8cc360a040e75 to your computer and use it in GitHub Desktop.
Booklore Service data backup script to run as crontab entry depends on myscripts project
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| #crontab entry: /bin/bash /home/giraycoskun/docker/booklore/backup.sh >> /home/giraycoskun/backups/booklore_cron_log.txt 2>&1 | |
| TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S") | |
| echo "########################################" | |
| echo "New Backup Process Started at $TIMESTAMP" | |
| # --- Configuration --- | |
| BOOKS_DIR="/home/giraycoskun/docker/booklore/books" | |
| DATA_DIR="/home/giraycoskun/docker/booklore/data" | |
| AUDIBOOKS_DIR="/home/giraycoskun/docker/booklore/audiobooks" | |
| BACKUP_DIR="/home/giraycoskun/backups/" | |
| BOOKS_BACKUP_NAME="booklore_books_$TIMESTAMP.tar.gz" | |
| DATA_BACKUP_NAME="booklore_data_$TIMESTAMP.tar.gz" | |
| AUDIOBOOKS_BACKUP_NAME="booklore_audiobooks_$TIMESTAMP.tar" | |
| # Create backup directory if it doesn't exist | |
| mkdir -p "$BACKUP_DIR" | |
| # 1. Create the compressed backup | |
| echo "Backup for books started: $BOOKS_BACKUP_NAME" | |
| tar -I pigz -czvf "$BACKUP_DIR/$BOOKS_BACKUP_NAME" -C "$BOOKS_DIR" . | |
| echo "Backup for books completed: $BOOKS_BACKUP_NAME" | |
| echo "Backup for data started: $DATA_BACKUP_NAME" | |
| tar -I pigz -czvf "$BACKUP_DIR/$DATA_BACKUP_NAME" -C "$DATA_DIR" . | |
| echo "Backup for data completed: $DATA_BACKUP_NAME" | |
| echo "Backup for audiobooks started: $AUDIOBOOKS_BACKUP_NAME" | |
| tar -cvf "$BACKUP_DIR/$AUDIOBOOKS_BACKUP_NAME" -C "$AUDIBOOKS_DIR" . | |
| echo "Backup for audiobooks completed: $AUDIOBOOKS_BACKUP_NAME" | |
| # 2. Delete backups older than 1 day (the "previous" ones) | |
| # This keeps your storage clean while allowing for the timestamped filenames | |
| echo "Deleting Old Backups" | |
| find "$BACKUP_DIR" -name "booklore_*.tar.gz" -type f -mtime +1 -delete | |
| echo "Backup Complete - Sending Notification" | |
| cd /home/giraycoskun/Code/myscripts/ | |
| /home/giraycoskun/.local/bin/uv run python -m myscripts notify send-to-discord --message "Backup Booklore Complete" | |
| echo "########################################" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment