Skip to content

Instantly share code, notes, and snippets.

@ig0r74
Last active September 21, 2019 13:43
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save ig0r74/bc5a5e6661b26ec59543 to your computer and use it in GitHub Desktop.
Save ig0r74/bc5a5e6661b26ec59543 to your computer and use it in GitHub Desktop.
Шаред-хостинг: резервное копирование MODX
#!/bin/bash
USER=###########
PASSWORD=###############
BACKUP=/home/host1372784/Backup
OLD=4 # Сколько дней хранить бэкапы
# Создаем директорию для сегодняшнего бэкапа
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
# Не обрабатываем служебные БД
if [[ "$i" != "mysql" && "$i" != "performance_schema" ]]
then mysqldump --skip-lock-tables -u$USER -p$PASSWORD $i | bzip2 -c > $i.sql.bz2;
fi
done
# Сохраняем конкретные базы данных
mysqldump --skip-lock-tables -u$$$$user$$$$ -p$$$$password$$$$ $$$$$db$$$$ | bzip2 -c > $$$$$db$$$$.sql.bz2;
mysqldump --skip-lock-tables -u$$$$user$$$$ -p$$$$password$$$$ $$$$$db$$$$ | bzip2 -c > $$$$$db$$$$.sql.bz2;
#mysqldump --skip-lock-tables -u$$$$$$$$$$$$ -p$$$$$$$$$ $$$$$$$$ | bzip2 -c > $$$$$$$$$.sql.bz2;
#mysqldump --skip-lock-tables -u$$$$$$$$$$$$ -p$$$$$$$$$ $$$$$$$$ | bzip2 -c > $$$$$$$$$.sql.bz2;
#mysqldump --skip-lock-tables -u$$$$$$$$$$$$ -p$$$$$$$$$ $$$$$$$$ | bzip2 -c > $$$$$$$$$.sql.bz2;
# Сохраняем файлы сайтов
for i in `ls /home/host1372784/`;
do
# Обрабатываем все, кроме папки Backup и самого файла скрипта
if [[ ! "$i" =~ ^Backup && ! "$i" =~ ^script.sh ]]
then tar -cjf www-$i.tar.bz2 /home/host1372784/$i --exclude=core/cache/* --transform="s/home\/host1372784\/$i\/htdocs\/www\///";
fi
done
# Если эта команда верно показывает старые директории после бэкапа - расскомментируйте следующую
find $BACKUP/* -maxdepth 0 -ctime $OLD -exec echo '{}' \;
# Эта команда удаляет старые резервные копии, и я ее закомментировал на всякий случай.
#find $BACKUP/* -maxdepth 0 -ctime $OLD -exec rm -r '{}' \;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment