Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.20 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. USER=root  #юзер базы данных
  4. PASSWORD=password  #пароль
  5. BACKUP=/media/Backup  #куда сохранять бэкапы
  6. LOG=/var/log  # директория для чистки старых логов
  7. OLD=30  # сколько дней хранить бэкапы (более старые будет удаляться)
  8. PREFIX=work  # если несколько серверов - используйте разные префиксы, чтобы не путаться
  9. DATE=`date '+%Y-%m-%d'`
  10.  
  11. echo "Backup database to $BACKUP"
  12. mkdir $BACKUP/$DATE.sql
  13. cd $BACKUP/$DATE.sql
  14.     for i in `mysql -u $USER -p$PASSWORD -e'show databases;' | grep -v information_schema | grep -v Database`;
  15.         do mysqldump -u $USER -p$PASSWORD $i > $DATE-$i.sql;
  16.     done
  17.  
  18. cd ..
  19. tar -cjf $BACKUP/$DATE-sql-$PREFIX.tar.bz2 ./$DATE.sql
  20. rm -rf ./$DATE.sql
  21.  
  22.  
  23. echo "Backup files to $BACKUP"
  24. tar -cjf $BACKUP/$DATE-files-$PREFIX.tar.bz2  \
  25.     /var/www/ \
  26.     /etc/ \
  27.     /var/log/ \
  28.     /root/ \
  29.     --exclude=$BACKUP
  30.  
  31. echo "Deleting old backups and logs from $BACKUP & $LOG"
  32. find $LOG -type f \( -name "*.gz" -o -name "*.1*" \) -exec rm '{}' \;
  33. find $BACKUP -mtime +$OLD -exec rm '{}' \;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement