Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- USER=root
- PASSWORD=111111
- BACKUP=/home/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 --add-drop-table $i | bzip2 -c > www-$i.sql.zip;
- fi
- done
- # Сохраняем системные директории
- zip -r sys-etc.zip /etc/
- zip -r sys-log.zip /var/log/
- zip -r sys-root.zip /root/
- # Сохраняем сайты
- for i in `ls /var/www/`;
- do
- zip -r www-$i.zip /var/www/$i --exclude=cache/*
- 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 '{}' \;
Add Comment
Please, Sign In to add comment