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