#!/bin/bash
USER=root
PASSWORD=1234567890 # Пароль от mysql root
BACKUP=/var/backups/ # Где на сервере хранится бэкап
OLD=7 # Сколько дней хранить бэкапы
# Создаем директорию для сегодняшнего бэкапа
DIR=$BACKUP/`date '+%Y-%m-%d'`
mkdir $DIR
cd $DIR
# Сохраняем базы данных
for i in `mysql -u $USER -p$PASSWORD -e'show databases;' | grep -v information_schema | grep -v Database`;
do
# Не обрабатываем служебные БД и все БД сайтов modx-test.com, у них имена типа s1234.
if [[ "$i" != "mysql" && "$i" != "performance_schema" && "$i" != "pma" ]]
then mysqldump --skip-lock-tables -u$USER -p$PASSWORD $i | bzip2 -c > www-$i.sql.bz2;
fi
done
# Сохраняем сайты
for i in `ls /var/www/`;
do
# Обрабатываем все, кроме сайтов modx-test.com
if [[ ! "$i" = "pma" ]]
then tar -cjf www-$i.tar.bz2 /var/www/$i --exclude=cache/*;
fi
done
# Чистим старые логи и бэкапы
find /var/log -type f \( -name "*.gz" -o -name "*.1*" \) -exec rm '{}' \;
# Если эта команда верно показывает старые директории после бэкапа - расскомментируйте следующую
find $BACKUP/* -maxdepth 0 -ctime $OLD -exec echo '{}' \;
# Эта команда удаляет старые резервные копии, и я ее закомментировал на всякий случай.
#find $BACKUP/* -maxdepth 0 -ctime $OLD -exec rm -r '{}' \;
YDIR='/mnt/yandex_disk/BACKUP/' # Директория в которую монтируется Яндекс Диск
# Фукция подключения диска
mountDisk() {
mount -t davfs https://webdav.yandex.ru /mnt/yandex_disk/
}
# Функция копирования файлов в облако
copyOnDisk() {
if [ -d $YDIR ]; then
cp -R $DIR $YDIR
else
mkdir -p $YDIR
cp -R $DIR $YDIR
fi
}
#Функция отключения диска
umountDisk() {
umount /mnt/yandex_disk
}
mountDisk
copyOnDisk
umountDisk
$tplOptions:
$tplOuter:
Вот скрипт:
Проста хочется использовать 10 гигов, за место 2 гигов, хотя у cloud.mail.ru 100 гигов
А если по честноку, то моя такая хотелка использовать yandex диск