Advertisement
Guest User

Untitled

a guest
May 14th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. USER=mysqlroot
  4. PASSWORD=mysqlrootpass
  5. BACKUP=/home/user/Backup
  6. OLD=7 # Сколько дней хранить бэкапы
  7.  
  8. # Создаем директорию для сегодняшнего бэкапа
  9. DIR=$BACKUP/`date '+%Y-%m-%d'`
  10. mkdir $DIR
  11. cd $DIR
  12.  
  13. # Сохраняем базы данных
  14. for i in `mysql -u $USER -p$PASSWORD -e'show databases;' | grep -v information_schema | grep -v Database`;
  15. do
  16. # Не обрабатываем служебные БД и все БД сайтов modx-test.com, у них имена типа s1234.
  17. if [[ "$i" != "mysql" && "$i" != "performance_schema" && ! "$i" =~ ^s[0-9] ]]
  18. then mysqldump --skip-lock-tables -u$USER -p$PASSWORD $i | bzip2 -c > www-$i.sql.bz2;
  19. fi
  20. done
  21.  
  22. # Сохраняем системные директории
  23. tar -cjf sys-etc.tar.bz2 /etc/
  24. tar -cjf sys-log.tar.bz2 /var/log/
  25. tar -cjf sys-root.tar.bz2 /root/
  26.  
  27. # Сохраняем сайты
  28. for i in `ls /var/www/`;
  29. do
  30. # Обрабатываем все, кроме сайтов modx-test.com
  31. if [[ ! "$i" =~ ^s[0-9] ]]
  32. then tar -cjf www-$i.tar.bz2 /var/www/$i --exclude=core/cache/*;
  33. fi
  34. done
  35.  
  36. # Чистим старые логи и бэкапы
  37. find /var/log -type f \( -name "*.gz" -o -name "*.1*" \) -exec rm '{}' \;
  38.  
  39. # Если эта команда верно показывает старые директории после бэкапа - расскомментируйте следующую
  40. find $BACKUP/* -maxdepth 0 -ctime $OLD -exec echo '{}' \;
  41.  
  42. # Эта команда удаляет старые резервные копии, и я ее закомментировал на всякий случай.
  43. #find $BACKUP/* -maxdepth 0 -ctime $OLD -exec rm -r '{}' \;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement