Current Path : /var/www/axolotl/data/www/ |
Current File : /var/www/axolotl/data/www/create-bitrix-backup.sh |
#!/usr/bin/env bash SCRIPT_DIR="`dirname $0`" BACKUP_ROOT="$HOME/backup" SOURCE_PATH="$1" BACKUP_NAME="$2" function checkDocumentRoot() { local path="$1" [ ! -d "$path" ] && { echo " ** Root $path is not an existing directory" return 1 } [ ! -d "$path/bitrix" ] && { echo " ** Root $path does not contain bitrix/" return 1 } return 0 } [ -z "$SOURCE_PATH" ] && { echo "Syntax: `basename $0` <source_document_root> <backup_name>" >&2 exit 1 } [ -z "$BACKUP_NAME" ] && { echo "Syntax: `basename $0` <source_document_root> <backup_name>" >&2 exit 1 } checkDocumentRoot "$SOURCE_PATH" || { echo " !! Failed to check source document root, exiting." >&2 exit 1 } BACKUP_PATH="$BACKUP_ROOT/$BACKUP_NAME" #rm -rf "$BACKUP_PATH" mkdir -p "$BACKUP_PATH/files" echo "Created `date` by $0" > "$BACKUP_PATH/readme-auto.txt" echo -e "\n -- Creating files backup\n\n" rsync -av --delete --delete-excluded --exclude bitrix/backup --exclude upload/ --exclude bitrix/cache --exclude bitrix/managed_cache --exclude bitrix/stack_cache --exclude bitrix/html_pages "$SOURCE_PATH/" "$BACKUP_PATH/files" mysqlArgs="`php "$SCRIPT_DIR/get-mysql-command-args.php" "$SOURCE_PATH"`" [ -z "$mysqlArgs" ] && { echo " !! Failed to get Mysql credentials, exiting." >&2 exit 1 } eval set -- $mysqlArgs username="$1" password="$2" host="$3" dbname="$4" echo -e "\n -- Creating database backup\n\n" mysqldump -u "$username" -p"$password" -h "$host" "$dbname" | gzip > "$BACKUP_PATH/db.sql.gz"