Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- USER=root #юзер базы данных
- PASSWORD=password #пароль
- BACKUP=/media/Backup #куда сохранять бэкапы
- LOG=/var/log # директория для чистки старых логов
- OLD=30 # сколько дней хранить бэкапы (более старые будет удаляться)
- PREFIX=work # если несколько серверов - используйте разные префиксы, чтобы не путаться
- DATE=`date '+%Y-%m-%d'`
- echo "Backup database to $BACKUP"
- mkdir $BACKUP/$DATE.sql
- cd $BACKUP/$DATE.sql
- for i in `mysql -u $USER -p$PASSWORD -e'show databases;' | grep -v information_schema | grep -v Database`;
- do mysqldump -u $USER -p$PASSWORD $i > $DATE-$i.sql;
- done
- cd ..
- tar -cjf $BACKUP/$DATE-sql-$PREFIX.tar.bz2 ./$DATE.sql
- rm -rf ./$DATE.sql
- echo "Backup files to $BACKUP"
- tar -cjf $BACKUP/$DATE-files-$PREFIX.tar.bz2 \
- /var/www/ \
- /etc/ \
- /var/log/ \
- /root/ \
- --exclude=$BACKUP
- echo "Deleting old backups and logs from $BACKUP & $LOG"
- find $LOG -type f \( -name "*.gz" -o -name "*.1*" \) -exec rm '{}' \;
- find $BACKUP -mtime +$OLD -exec rm '{}' \;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement