Bash script to backup
This commit is contained in:
parent
741a613990
commit
9cea374e12
58
backup.sh
Normal file
58
backup.sh
Normal file
@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Configuration
|
||||
DB_HOST="remote_server_address"
|
||||
DB_USER="database_username"
|
||||
DB_PASS="database_password"
|
||||
DB_NAME="database_name"
|
||||
DB_PORT="3306"
|
||||
|
||||
# Git repository path
|
||||
REPO_PATH="/path/to/your/git/repository"
|
||||
|
||||
# Backup directory inside the repository
|
||||
BACKUP_DIR="${REPO_PATH}/database_backups"
|
||||
|
||||
# Backup filename with timestamp
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
BACKUP_FILE="${BACKUP_DIR}/backup_${DB_NAME}_${TIMESTAMP}.sql"
|
||||
|
||||
# Create the backup directory if it doesn't exist
|
||||
mkdir -p "${BACKUP_DIR}"
|
||||
|
||||
# Perform the database backup
|
||||
echo "Starting backup of ${DB_NAME} from ${DB_HOST}..."
|
||||
mysqldump -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASS}" "${DB_NAME}" > "${BACKUP_FILE}"
|
||||
|
||||
# Check if backup was successful
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Database backup completed successfully: ${BACKUP_FILE}"
|
||||
|
||||
# Compress the backup file
|
||||
gzip "${BACKUP_FILE}"
|
||||
BACKUP_FILE="${BACKUP_FILE}.gz"
|
||||
echo "Backup file compressed: ${BACKUP_FILE}"
|
||||
|
||||
# Add the backup to Git
|
||||
cd "${REPO_PATH}"
|
||||
git add "${BACKUP_FILE}"
|
||||
|
||||
# Commit the changes
|
||||
git commit -m "Database backup: ${DB_NAME} - ${TIMESTAMP}"
|
||||
|
||||
# Push to remote repository
|
||||
git push origin main
|
||||
|
||||
# Check if Git operations were successful
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Backup successfully pushed to Git repository."
|
||||
else
|
||||
echo "Error: Failed to push backup to Git repository."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Error: Database backup failed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Backup process completed."
|
||||
Loading…
x
Reference in New Issue
Block a user