#!/bin/sh # ---- Константы -------------------------------------- # Папка, куда складываем бекапы BACKUP_DIR="/var/www/wscms/data/www/site.ru/backup/" # Имя файла бекапа BACKUP_FILE="sql.tar" # Пользователь, владелец файла с бекапами USER="wscms" # Папка для временных дампов MySQL MDIR="mysql/" # Сервер БД MySQL MHOST="localhost" # MYSQL root пользователь MUSER="root" # MYSQL root пароль MPASS="***************" # Поставьте "-zcf" если хотите сжимать данные или "-cf" в противном случае PARAMS="-cf" #--- Служебные переменные -------------------------- # Путь к mysql. MYSQL="$(which mysql)" # Путь к mysqldump MYSQLDUMP="$(which mysqldump)" # Путь к tar TAR="$(which tar)" # Путь к chown CHOWN="$(which chown)" # Путь к RM RM="$(which rm)" # Путь к MKDIR MKDIR="$(which mkdir)" # ---- Получаем список баз данных DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')" # ---- Чистим папку с дампами на случай, если она уже существовала $RM -rf $BACKUP_DIR$MDIR # ---- Создаем папку для дампов $MKDIR -p $BACKUP_DIR$MDIR # ---- Делаем дампы найденых баз. Старые дампы замещаются for db in $DBS do FILE=$BACKUP_DIR$MDIR$db.sql $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db > $FILE done # ---- Архивируем файлы $TAR $PARAMS $BACKUP_DIR$BACKUP_FILE $BACKUP_DIR$MDIR # ---- Удаляем уже не нужную нам папку с MySQL дампами $RM -rf $BACKUP_DIR$MDIR $CHOWN $USER $BACKUP_DIR $CHOWN $USER $BACKUP_DIR$BACKUP_FILE exit 0