Skip to content

Instantly share code, notes, and snippets.

@vgrish
Last active December 28, 2015 16:09
Show Gist options
  • Save vgrish/7526799 to your computer and use it in GitHub Desktop.
Save vgrish/7526799 to your computer and use it in GitHub Desktop.
then tar -cjf www-$i.tar.bz2 /var/www/$i --exclude=cache/*; then zip -параметры www-$i.zip /var/www/$i;
#!/bin/bash
USER=mysqlroot
PASSWORD=mysqlrootpass
BACKUP=/home/bezumkin/Backup
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" =~ ^s[0-9] ]]
then mysqldump --skip-lock-tables -u$USER -p$PASSWORD $i | bzip2 -c > www-$i.sql.zip;
fi
done
# Сохраняем системные директории
zip -cjf sys-etc.zip /etc/
zip -cjf sys-log.zip /var/log/
zip -cjf sys-root.zip /root/
# Сохраняем сайты
for i in `ls /var/www/`;
do
# Обрабатываем все, кроме сайтов modx-test.com
if [[ ! "$i" =~ ^s[0-9] ]]
then zip -cjf www-$i.zip /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 '{}' \;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment