From e0ae2e6e925ef7213debeb6d6ed5d4acd5e195eb Mon Sep 17 00:00:00 2001 From: maxmlv Date: Wed, 24 Jun 2026 07:29:31 +0300 Subject: [PATCH] implement script for database backup --- task.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/task.sh b/task.sh index 36ac368..d0ce8ae 100755 --- a/task.sh +++ b/task.sh @@ -1 +1,26 @@ #! /bin/bash + +BACKUP_DIR="$HOME/backups/mysql/shopdb" +mkdir -p "$BACKUP_DIR" || { echo "Error: could not create backup directory $BACKUP_DIR"; exit 1; } + +if [ -z "$DB_USER" ] || [ -z "$DB_PASSWORD" ]; then + echo "Error: DB_USER and DB_PASSWORD must be set as environment variables." + exit 1 +fi + +TIMESTAMP=$(date +%Y%m%d_%H%M%S) + +echo "INFO: Creating full backup of ShopDB" +mysqldump -u "$DB_USER" -p"$DB_PASSWORD" ShopDB --result-file="$BACKUP_DIR/full_backup_$TIMESTAMP.sql" + +echo "INFO: Restoring full backup into ShopDBReserve" +mysql -u "$DB_USER" -p"$DB_PASSWORD" ShopDBReserve < "$BACKUP_DIR/full_backup_$TIMESTAMP.sql" + + +echo "INFO: Creating data-only backup of ShopDB" +mysqldump -u "$DB_USER" -p"$DB_PASSWORD" --no-create-info ShopDB --result-file="$BACKUP_DIR/data_backup_$TIMESTAMP.sql" + +echo "INFO: Restoring data backup into ShopDBDevelopment" +mysql -u "$DB_USER" -p"$DB_PASSWORD" ShopDBDevelopment < "$BACKUP_DIR/data_backup_$TIMESTAMP.sql" + +echo "INFO: Backup and restore procedure completed successfully."