| Server IP : 138.197.107.151 / Your IP : 216.73.217.7 Web Server : Apache/2.4.58 (Ubuntu) System : Linux BloxBy-Builder 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : wpbetasites_mrakzqskir ( 1022) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/bloxbycommands/ |
Upload File : |
#!/bin/bash
set -x
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
. "$SCRIPT_DIR/global_config.sh"
# set -euo pipefail
# TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
# SQL_DUMP="/tmp/db_${DB_NAME}_${TIMESTAMP}.sql"
# printf "🔧 Starting backup for site: %s\n" "MYSQL_PWD=$DB_PASS mysqldump -u $DB_USER -h $DB_HOST" $DB_NAME > $SQL_DUMP"
# MYSQL_PWD="$DB_PASS" mysqldump -u "$DB_USER" -h "$DB_HOST" "$DB_NAME" > "$SQL_DUMP"
# MYSQL_PWD='jM7Qo,Q)13$wo$~W' mysqldump -uroot db_wpbetasites_g4xlm8qebo > "$SQL_DUMP"
# MYSQL_PWD="$DB_PASS" mysqldump -u "$DB_USER" -h "$DB_HOST" "$DB_NAME" > "$SQL_DUMP"
# exit 1
# === Default values ===
SITE_ID=""
WEB_ROOT=""
BACKUP_PATH=""
ENV=""
# === Parse arguments ===
for arg in "$@"; do
case $arg in
--site-id=*)
SITE_ID="${arg#*=}"
shift
;;
--wp-path=*)
WEB_ROOT="${arg#*=}"
shift
;;
--backup-path=*)
BACKUP_PATH="${arg#*=}"
shift
;;
--environment=*)
ENV="${arg#*=}"
shift
;;
*)
echo "❌ Unknown option: $arg"
echo "Usage: $0 --site-id=SITE1 --wp-path=/path/to/wp --backup-path=/path/to/backups --environment=environment"
exit 1
;;
esac
done
# === Validate required args ===
if [[ -z "$SITE_ID" || -z "$WEB_ROOT" || -z "$BACKUP_PATH" || -z "$ENV" ]]; then
echo "❌ --site-id, --wp-path and --backup-path --environment are required."
echo "Usage: $0 --site-id=SITE1 --wp-path=/path/to/wp --backup-path=/path/to/backups --environment=environment"
exit 1
fi
# === Database details from wp-config.php ===
DB_NAME=$(wp config get DB_NAME --path="$WEB_ROOT" --allow-root)
DB_USER=$DB_USER
DB_PASS=$DB_PASS
DB_HOST=$DB_HOST
# === SCRIPT ===
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="${BACKUP_PATH}/${ENV}/backup_${SITE_ID}_${TIMESTAMP}.tar.gz"
SQL_DUMP="/tmp/db_${SITE_ID}_${TIMESTAMP}.sql"
# "🗄 Dumping database: $DB_NAME"
# mysqldump -u $DB_USER -p'$DB_PASS' -h $DB_HOST $DB_NAME > "$SQL_DUMP"
MYSQL_PWD="$DB_PASS" mysqldump -u "$DB_USER" -h "$DB_HOST" "$DB_NAME" > "$SQL_DUMP"
# mysqldump -u"$DB_USER" -p"$DB_PASS" -h"$DB_HOST" "$DB_NAME" > "$SQL_DUMP"
# "📦 Creating backup archive: $BACKUP_FILE"
tar -czf "$BACKUP_FILE" -C "$WEB_ROOT" . -C /tmp "$(basename "$SQL_DUMP")"
# Clean up
rm -f "$SQL_DUMP"
find "${BACKUP_PATH}/${ENV}" -type f -name "backup_${SITE_ID}_*.tar.gz" \
| grep -v "$BACKUP_FILE" \
| xargs -r rm -f
# find /var/www/website_zips/development -type f -name "backup_${SITE_ID}_*.tar.gz" ! -name "$(basename "$BACKUP_FILE")" -delete
echo "Backup Complete: $BACKUP_FILE"