From ecd1516c80b87bfb0b8db1ea91dffca4e6f7fc86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20Dere=C5=BEi=C4=87?= Date: Wed, 26 Nov 2025 09:29:39 +0100 Subject: [PATCH] Add logging with timestamps to scheduled backup script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add log file at backups/scheduled-backup.log (overwritten on each run) - Create log() function that outputs to both console and log file - Add timestamp prefix to all log messages in format [YYYY-MM-DD HH:MM:SS] - Replace all echo statements with log function calls 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- db-scheduled-backup.sh | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/db-scheduled-backup.sh b/db-scheduled-backup.sh index c7b56ac..52d3296 100755 --- a/db-scheduled-backup.sh +++ b/db-scheduled-backup.sh @@ -6,30 +6,41 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" BACKUP_SCRIPT="$SCRIPT_DIR/db-backup-standalone.sh" +LOG_FILE="$SCRIPT_DIR/backups/scheduled-backup.log" + +# Initialize log file (overwrite if exists) +mkdir -p "$(dirname "$LOG_FILE")" +> "$LOG_FILE" + +# Function to log messages +log() { + local timestamp=$(date '+%Y-%m-%d %H:%M:%S') + echo "[$timestamp] $*" | tee -a "$LOG_FILE" +} # Ensure the backup script exists and is executable if [ ! -f "$BACKUP_SCRIPT" ]; then - echo "Error: Backup script not found at $BACKUP_SCRIPT" + log "Error: Backup script not found at $BACKUP_SCRIPT" exit 1 fi if [ ! -x "$BACKUP_SCRIPT" ]; then - echo "Making backup script executable..." + log "Making backup script executable..." chmod +x "$BACKUP_SCRIPT" fi # Run the backup -echo "Starting database backup..." +log "Starting database backup..." "$BACKUP_SCRIPT" # Delete backups older than 7 days BACKUP_DIR="${BACKUP_DIR:-backups}" if [ -d "$BACKUP_DIR" ]; then - echo "Cleaning up backups older than 7 days in $BACKUP_DIR..." + log "Cleaning up backups older than 7 days in $BACKUP_DIR..." find "$BACKUP_DIR" -name "mongo-volume-backup-*.tar.gz" -type f -mtime +7 -delete - echo "Cleanup completed." + log "Cleanup completed." else - echo "Warning: Backup directory $BACKUP_DIR not found, skipping cleanup." + log "Warning: Backup directory $BACKUP_DIR not found, skipping cleanup." fi -echo "Scheduled backup completed successfully." +log "Scheduled backup completed successfully."