#! /bin/bash # arg1 - date in YYYYMMDDHHIISS format # arg2 - full backup location path # arg3 - if value is '1' then calls_old table will be excluded (optional) . /usr/src/m2/framework/various_functions.sh . /usr/src/m2/framework/bash_functions.sh . /usr/src/m2/framework/settings.sh BACKUP_DATE=$1 BACKUP_FOLDER=$2 IGNORE_ARCHIVED_CALLS= LOG_FILE="/var/log/m2/db_backup.log" # check for params if [ ! -n "$1" ] && [ ! -n "$2" ]; then echo `date` "Arguments not passed" >> $LOG_FILE echo 1 exit 1 fi mysql_connect_data_v2 > /dev/null if [ "arg$3" = "arg1" ]; then echo `date` "Table calls_old will be excluded" >> $LOG_FILE IGNORE_ARCHIVED_CALLS=--ignore-table="$DB_NAME".calls_old fi # make backup and compress cd $BACKUP_FOLDER mysqldump -h "$DB_HOST" -u "$DB_USERNAME" --password=$DB_PASSWORD --force --single-transaction $IGNORE_ARCHIVED_CALLS --ignore-table="$DB_NAME".backups "$DB_NAME" | pbzip2 -m500 -p4 -9 --stdo > "$BACKUP_FOLDER"/db_dump_"$BACKUP_DATE".sql.bz2 2>> $LOG_FILE if [ -f "$BACKUP_FOLDER"/db_dump_"$BACKUP_DATE".sql.bz2 ]; then echo `date` "Backup successfully created: $BACKUP_FOLDER/db_dump_$BACKUP_DATE.sql.bz2" >> $LOG_FILE echo 0 exit 0 else echo `date` "Backup FAILED" >> $LOG_FILE echo 1 exit 1 fi