How-to`s — Не совсем backup сервера
Хочу поделиться скриптом который делает "не совсем backup" сервера (apache+php+mysql), вполне подходит для копирования всего нужного с сервера на локальную машину для последуюго востановления.
Этот пост - развитие моего предыдущего поста на эту тему. Ярик, спецом для тебя:*
Для работы скрипта необходимо установить sshpass и rsync. Установка на ubuntu:
Краткое описание: В скрипте есть переменные, их нужно править под себя. После запуска скрипта у вас в каталоге $LOCAL_BACKUP_DIR (в моем случаи это ~/backup/server) на домашнем компьютере появиться копия всего что вам нужно для восстановления сервера в случаи беды. Структура каталогов будет точна такая же как и на сервере, поэтому если что - "copy->replace all" сработает на ура. Плюс будет дополнительная папочка с дампами баз REMOTE_DB_DUMPS (в моем случаи она будет находиться в ~/backup/server/var/backup/mysql). Чтобы были дампы баз, на сервер нужно будет залить второй скрип по адресу /var/bash/backup.sh
Сами скрипты.
Главный скрипт:
Скрип-помошник, который на сервере должен быть по адресу /var/bash/backup.sh:
Замечания.
Базы innodb рожей не вышли для mysqlhotcopy, но дампы с них будут нормальными.
Если мы скопируем все базы после hotcopy на сервер, то они не будут рабочими (проблема с правами). Я решаю это так:
Эта комбинация команд правит права :)
Вообще ищу замену серверному скрипту, чтобы его можно было запихнуть в крон на сервере и он в автоматическом режиме делал бэкапы и хранил последни, скажем, три штуки.
Жду вопросы и дополнения.
Этот пост - развитие моего предыдущего поста на эту тему. Ярик, спецом для тебя:*
Для работы скрипта необходимо установить sshpass и rsync. Установка на ubuntu:
sudo aptitude install sshpass rsync
Краткое описание: В скрипте есть переменные, их нужно править под себя. После запуска скрипта у вас в каталоге $LOCAL_BACKUP_DIR (в моем случаи это ~/backup/server) на домашнем компьютере появиться копия всего что вам нужно для восстановления сервера в случаи беды. Структура каталогов будет точна такая же как и на сервере, поэтому если что - "copy->replace all" сработает на ура. Плюс будет дополнительная папочка с дампами баз REMOTE_DB_DUMPS (в моем случаи она будет находиться в ~/backup/server/var/backup/mysql). Чтобы были дампы баз, на сервер нужно будет залить второй скрип по адресу /var/bash/backup.sh
Сами скрипты.
Главный скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
#!/bin/bash |
Скрип-помошник, который на сервере должен быть по адресу /var/bash/backup.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/bin/sh |
Замечания.
Базы innodb рожей не вышли для mysqlhotcopy, но дампы с них будут нормальными.
Если мы скопируем все базы после hotcopy на сервер, то они не будут рабочими (проблема с правами). Я решаю это так:
1 2 |
aptitude purge mysql-server |
Эта комбинация команд правит права :)
Вообще ищу замену серверному скрипту, чтобы его можно было запихнуть в крон на сервере и он в автоматическом режиме делал бэкапы и хранил последни, скажем, три штуки.
Жду вопросы и дополнения.