IP : 18.217.177.60 Hostname : axolotl Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, OS : Linux PATH: / var/ www/ axolotl/ data/ www/ yar.axolotls.ru/ 52131/ ../ ../ 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"