Guest User

Untitled

a guest
Sep 17th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. USER=root
  4. PASSWORD=111111
  5. BACKUP=/home/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 --add-drop-table $i | bzip2 -c > www-$i.sql.zip;
  19. fi
  20. done
  21.  
  22. # Сохраняем системные директории
  23. zip -r sys-etc.zip /etc/
  24. zip -r sys-log.zip /var/log/
  25. zip -r sys-root.zip /root/
  26.  
  27. # Сохраняем сайты
  28. for i in `ls /var/www/`;
  29. do
  30. zip -r www-$i.zip /var/www/$i --exclude=cache/*
  31. done
  32.  
  33. # Чистим старые логи и бэкапы
  34. find /var/log -type f \( -name "*.gz" -o -name "*.1*" \) -exec rm '{}' \;
  35.  
  36. # Если эта команда верно показывает старые директории после бэкапа - расскомментируйте следующую
  37. find $BACKUP/* -maxdepth 0 -ctime $OLD -exec echo '{}' \;
  38.  
  39. # Эта команда удаляет старые резервные копии, и я ее закомментировал на всякий случай.
  40. #find $BACKUP/* -maxdepth 0 -ctime $OLD -exec rm -r '{}' \;
Add Comment
Please, Sign In to add comment