Главная страница
Навигация по странице:

  • Бесплатное восстановление файлов

  • Платное восстановление файлов

  • Восстановление удалённых файлов

  • Копия БД в

  • Восстановление базы данных с заменой

  • Восстановление удалённых баз данных

  • Основные необходимые команды

  • Смена тарифа или переезд клиента на новый сервер

  • Переезд клиентской услуги от стороннего хостера нашими силами

  • Windows

  • Бэкапы и БД. Бэкапы, восстановление сайтов, баз данных. Восстановление сайта из резервной копии и перенос между серверами


    Скачать 54.11 Kb.
    НазваниеВосстановление сайта из резервной копии и перенос между серверами
    АнкорБэкапы и БД
    Дата12.10.2022
    Размер54.11 Kb.
    Формат файлаdocx
    Имя файлаБэкапы, восстановление сайтов, баз данных.docx
    ТипДокументы
    #729620


    Восстановление сайта из резервной копии и перенос между серверами.


    • Бесплатное восстановление файлов (архив в shadow);

    • Платное восстановление с заменой файлов или бесплатное с заменой файлов (если баг нашей панели);

    • Платное восстановление удалённой услуги на новом сервере или бесплатное (если баг нашей панели);

    • Копия базы данных в shadow;

    • Импорт дампа БД в новую базу и правка конфигурационных файлов;

    • Поиск и восстановление удалённой БД;

    • Перенос услуги между серверами;

    • Переезд клиента от стороннего хостера;

    • Win-хостинг;

    • Postgres SQL.



    Бесплатное восстановление файлов

    1. В трансфере находим следующие данные о клиентском сайте: ID услуги, HUID (идентификатор пользователя), сервер на котором хранится услуга.

    * HUID может иметь вид: 12345, srv12345, huid1234

    1. Заходим на st0 и оттуда переходим на нужный сервер -> ssh <сервер>;

    2. Входим в режим администратора -> sudo bash (знак приглашения сменится на #);

    3. Входим в контейнер (при необходимости) на he -> jexec 1 bash, на с -> vzctl enter 1;

    4. Перемещаемся в папку клиентской услуги:

    Старый хостинг (he2 – he16) -> cd /jail/home/

    Старый-Новый (he18-he26) -> cd /jails/www/home/

    Новый (с00-с03) -> cd /vz/root/1/home/

    *he и he2 расположены на одном физическом сервере.

    Путь до папки клиента: cd /jail/he(he2)/home/

    Из контейнера в клиентскую папку перемещаемся просто cd /home/

    1. На старом и старом-новом хостинге папка shadow расположена в папке клиентского сайта на уровне с папкой html, на новом она распологается на одном уровне с папками сайтов. Если этой папки нет, её нужно создать командой mkdir <имя папки>.

    * На старом и старом-новом хостинге ОС FreeBsd, папку html создавать нужно, в неё размещается сайт. На новом хостинге ОС Linux, контент помещается непосредственно в папку сайта.

    ** he6 и he13 – сервера на платформе Windows, сервера he4,8,16,17 и 19 не используются.

    7) Создав shadow заходим в неё -> cd shadow. Содержимое папки можно посмотреть командой ls с параметрами (ls -l, ls -la, ls -lat). ls -la покажет расширенный вывод вида:
    drwxdr-r-- 1 srv123456 123456 4096 Apr 17 10:39 shadow
    d -> показывает директория это или файл;

    rwxdr-r-- -> права пользователей на папку. Сначала идут права пользователя, потом группы пользователей, потом всех остальных (r - чтение, w - изменение, х - исполнение). Каждой букве соответствует свой числовой эквивалент: r - 4, w - 2, x - 1. Они суммируются, т.е 777 - все права для всех пользователей и т.д.;

    srv123456 123456 - владелец папки (root - администратор). По умолчанию, после выполнения, каких либо операций с файлом/папкой суппортом, права на папку или файл будут рутовые а не пользователя и он не сможет их увидеть;

    4096 - размер папки/файла;

    Apr 17 10:39 - дата создания.

    8) Теперь заходим на b00 в режим администратора, запускаем утилиту bconsole для восстановления состояния сервера за нужное число.

    sudo bconsole -c /usr/local/etc/bacula/servers/bconsole-<сервер>.conf

    Нажимаем 9, потом 6, вводим дату за которое нужен бэкап или дату самой ранней копии сервера, время берем любое на час позже времени завершения полного бэкапа (пометка F в табличке). Ввод вида: 2014-04-24 15:00:00

    Ожидаем окончания построения бэкапа и появления надписи cwd is.
    !!!! ВНИМАНИЕ !!!!

    Не простраивайте несколько бэкапов состояния сервера на нескольких рабочих машинах. Это значительно затормозит работу сервера, а строиться они будут всё равно по очереди. Предупреждайте коллег о запуске бэкапа и уточняйте, не строит ли кто-нибудь бэкап на сервере, с которым вы собрались работать. Бэкапы состояния разных серверов строить одновременно можно как на одном компьютере, так и на разных.
    9) Далее перемещаемся в простроенном бэкапе в клиентскую папку ->
    cd storage/home/HUID или в директорию где лежит нужный нам файл, смотрим содержимое папки командой ls, выбираем нужные папки/файлы командой mark <папка/файл>, когда закончили, пишем done, выбираем 1, выбираем yes (не ошибитесь! Иначе всё заново строить), затем выходим из интерфейса нажав q и enter.

    10) Нужные клиенту папки/файлы перемещены во временную папку на клиентском сервере:
    /tmp/bacula-restores/storage/home. На новом хостинге может потребоваться дописать путь: /vz/root/2/tmp/bacula-restores/storage/home.

    На сервере с клиентской услугой, заходим в эту папку, архивируем контент клиента командой tar -cvf <название архива.tar> <папка которую архивируем> и перемешаем командой mv <созданный архив> <путь до папки shadow на клиентской услуге> в shadow к клиенту. Затем меняем права на папку shadow и её содержимое (т.е и на архив тоже), так чтобы клиент смог его увидеть и совершать с ним операции.

    * команда pwd покажет ваше текущее расположение на сервере. сd без параметров переместит в вашу домашнюю директорию на сервере /home/sup<> или в корень.

    ** Права групп можно изменить так: chmod -R 755 shadow

    Владельца папки можно сменить так: chown -R srv53741: 53741 shadow

    Ключ -R позволяет применять изменения для всего содержимого папки.

    11) Радуемся, отписываем клиенту в рт, снимаем с себя ответственность за заявку.
    Пример:

    [sup03@c02

    ]$ sudo bash

    Вводим пароль:

    [root@c02 sup03]# cd /vz/root/1/home/srv53741

    [root@c02 srv53741]# ls -la



    [root@c02 srv53741]# mkdir shadow

    [root@c02 srv53741]# cd

    [root@c02 sup03]# cd /tmp/bacula-restores/storage/home/srv53741

    [root@c02 srv53741]# ls

    primer.ru

    [root@c02 srv53741]# tar -cvf primer.ru_2014-04-24.tar primer.ru

    [root@c02 srv53741]# mv primer.ru_2014-04-24.tar vz/root/1/home/srv53741/shadow

    [root@c02 srv53741]# cd /root/1/home/srv53741/

    [root@c02 srv53741]# ls -la



    drwxrwxrwx 1 root root 4096 Apr 17 10:39 shadow

    ...

    [root@c02 srv53741]# chown -R srv53741: 53741 shadow

    [root@c02 srv53741]# chmod -R 750 shadow

    [root@c02 srv53741]# ls -la



    drwxr-x--- 1 srv53741 53741 4096 Apr 17 10:39 shadow


    Платное восстановление файлов

    Отличается от восстановленияв shadow лишь парой нюансов.

    1. Файлы восстанавливаются С ЗАМЕНОЙ, а это значит, что прежде чем их заменить, нужно зайти в клиентскую папку и запаковать старую папку в архив на всякий случай. Распаковать архив можно так: tar -xvf <архив>.

    2. Клиентскую папку теперь можно удалить командой rm -rf <папка> - это сотрёт её со всем содержимым, rm без ключа стирает один файл.

    3. На b00 в утилите bconsole после построения бэкапа нужно выбрать пункт 2.

    4. Особое внимание обратить на этот пункт. Прежде чем делать ПЛАТНОЕ восстановление, нужно написать клиенту о том, что оно платное и дождаться либо того, что он попросит бэкап в shadow, либо пополнит баланс лицевого счёта на договоре:


    Замена файлов и баз данных из резервной копии является платной услугой (согласно приложению 6 к публичной оферте). Стоимость услуги 500 рублей за 1 сайт.

    Пожалуйста, убедитесь в наличии необходимой суммы на балансе лицевого счёта (при необходимости пополните его) и подтвердите Ваше согласие со списанием средств в ответе на данное письмо.

    Способы пополнения лицевого счета описаны у нас на сайте: http://www.hoster.ru/payment

    Обращаем Ваше внимание, что все претензии к выполнению платных услуг и работ принимаются в течение трёх дней с момента оказания услуг или работ.

    Бесплатно мы можем выложить файлы сайта и базу данных в папку shadow.
    Восстановление удалённых файлов

    1) Чтобы восстановить работоспособность клиентского сайта, клиент должен приобрести новую услугу и оплатить её на минимальный срок. И в большинстве случаев услуга у клиентов до этого была на старом или старом-новом хостинге, где версия PHP - 5.2, а не актуальная 5.4. Поэтому необходимо сообщить клиенту, что сайт у него межет не заработать в силу несовместимости версий PHP. Если мы реально сможем самостоятельно поправить все возникшие после восстановления проблемы (кодировку, косяки с отображением и прочее), то это будет стоить 1000 рублей. Если нет, то нужно посоветовать клиенту обратиться к разработчикам его сайта с просьбой адаптировать сайт к актуальной версии PHP. Восстановение, естественно, бесплатное. Крайней мерой является перенос всего нового тарифа клиента на сервер с устаревшей версией PHP, что крайне нежелательно в силу скорой миграции всех клиентских услуг на новые сервера. Услуги удаляются после месяца неуплаты. Если клиентская услуга в трансфере салатового цвета, она вовремя заблокировалась, и клиенту ушло увдомление. Если услуга удалена, но горит оранжевым (просрочена, но не удалена), это наш косяк.

    2) Когда услуга удаляется, стирается информация о HUID и сервере в трансфере, поэтому чтобы узнать больше информации, мы переходим в финансовые операции в клиентской панели управления и смотрим, на каком сервере ранее оплачивалось доменное имя, о котором идёт речь. Или, если домен не отображается вообще или на парковке (клиент не успел его перепривязать), выполняем трассировку до сайта в консоли cmd: tracert <домен> или nslookup -q=a <домен> ns10.hoster.ru

    В результате, мы узнаём ip-адрес, куда резолвилось доменное имя сайта, до удаления контента. Теперь заходим на любой сервер и выполняем команду host . Теперь мы имеем название сервера, где жила услуга.

    3) Звоним администраторам и называем им root id услуги из трансфера и сервер. Получаем от них huid.

    4) Также перед тем, как строить бэкап, можно поискать архив удалённой услуги в папках удалённых услуг на сервере где ранее хранилась услуга.: /jail/backup/oldusers - для старого хостинга, /storage/backup -для нового и старого нового. Перемещаемся в эту папку и выполняем команду find . | grep . В выводе можем увидить нужный архив.

    5) Если есть, его нужно переместить в директорию саппорта /home/sup<>, затем зайти на сервер, где будет восстанавливаться сайт, переместиться на клиентскую услугу и выполнить перемещение архива из папки /home/sup03 на старом сервере в клиентскую папку на новом сервере:

    [root@c02 srv53741]# scp sup03@he22.hoster.ru: /home/sup03/site.ru.tar site.ru.tar. Перед @ указываем свой sup, после сервер с которого переносим, потом путь до архива на старом сервере, потом имя архива с которым он будет помещён на новый сервер.

    6) Теперь распаковываем архив в клиентской папке на новом сервере командой tar -xvf, помня о том, что html нам на серверах с Linux не нужен. Поэтому перемещаем папку html на уровень выше командой mv html .. , переходим на уровень выше cd .. , удаляем пустую папку сайта rm -rf <домен>, а затем переименовываем html в имя сайта: mv html <домен>. Естественно, что при переносе с нового сервера на старый все операции происходят наоборот. Создаём папку <домен_1> в неё перемещаем <домен>, переименовываем в html, папку <домен_1> переименовываем в <домен>.

    7) Что делать если на старом сервере нету архива удалённой услуги? Строить бэкап этого сервера на b00. Если услуга удалена месяц-два назад, можно поварьировать выбор числа за которое будет строиться бэкап. Если удалена давно (3-6 месяцев), то самый ранний бэкап вообще. Далее всё, как описано выше. Ищем папку в выводе утилиты bconsole, отмечаем mark, выбираем 1-й метод восстановления, идём во временную папку на старом хостинговом сервере , пакуем в архив, архив перемещаем в свою домашнюю директорию старого сервера, заходим на новый хостинговый сервер в клиентскую папку, перемещаем архив между серверами scp, распаковываем, играемся с базами данных и конфигурационными файлами (об этом дальше). Если сайт не работает, два варианта: перенос, предложение клиенту идти к разработчикам. Второе выгоднее, но бесплатно.
    Копия БД в shadow

    1) Клиент в заявке не всегда точно указывает хост БД или не указывает его вообще, поэтому заходим в трансфер и ищем его.

    2) Заходим на клиентскую услугу, создаём shadow, если нужно, перемещаемся туда.

    3) заходим на b00 -> cd /storage2/backup/databases/users/mysql/<хост>/<дата в формате 2014-04-25>

    4) Ищем нужный дамп командой find . | grep <имя БД>. Если нет, можно вернуться в папку mysql и повторить команду. Так мы найдём все хосты, где встречалась база и все числа за которые есть дампы.

    5) Копируем полный путь до базы на b00 нажатием ctrl+insert (помним, что ctrl+с отменяет ввод), возвращаемся в клиентский shadow, копируем дамп с b00 на клиентский сервер командой scp. Вставка пути осуществляется нажатием shift+insert, автоподстановка, если что-то забыли tab. Пример: находясь в shadow пишем - scp sup03@b00.hoster.ru:/storage2/backup/databases/users/mysql/dbhe22.hoster.ru/2014-04-25/db12345.dump.gz db12345.dump.gz

    6) Если клиенту нужен дамп именно в формате .sql, нужно распаковать его командой gunzip <дамп>, а затем переименовать в .sql командой mv (mv db12345.dump db12345.sql).

    7) Теперь меняем права на файл или на папку командой chown и отписываем клиенту.
    Восстановление базы данных с заменой

    1) Тут всё сложнее. Для начала находим хост базы данных в трансфере, а затем саму базу на b00 за нужное число.

    2) Теперь нужно найти конфигурационный файл, в котором прописаны реквизиты для подключения базы данных к сайту. Расположение этих файлов зависит от системы управления контентом, с помощью которой создан сайт: примеры для основных CMS: http://www.levik.info/raspolozhenie-konfiguracionnyx-fajlov-v-populyarnyx-cms.htm.

    Найти конфигурационные файлы можно, зайдя на клиентскую услугу в html или папку домена и выполнив команду grep -R hoster.ru ./ В выводе команды увидим строчки вида ./configuration.php: public $host = ’mysql-54231’.srv.hoster.ru’;

    Редактировать нужно только те файлы, где есть 4 строки схожие с db_host, db_name, db_pass и db_user. В зависимости от типа CMS эти строки в конфиге могут называться и писаться по-разному, но смысл примерно понятен. Например, строка db_host может писаться dbhost, а db_pass как password, плюс всё это может быть в строчку и неудобно для редактирования.

    3) Редактировать конфиг можно различными редакторами, но удобнее всего mcedit -ом или vi. Команда будет выглядеть следующим образом: mcedit <путь к файлу до : из вывода команды grep -R hoster.ru ./ с учётом того, что вы поправите путь относительно папки в которой находитесь>

    Пример:

    [root@c02 site.ru]# grep -R hoster.ru ./

    ./configuration.php: public $host = ’mysql-54231’.srv.hoster.ru’;

    [root@c02 site.ru]# mcedit configuration.php

    В выводе grep -R hoster.ru ./ могут быть лишние файлы, которые содержат только строчку hoster.ru, но в которых нет строчек с реквизитами. Их трогать не надо.

    В нужных файлах находим 4 строки: хост для внешнего подключения, имя БД, имя пользователя и пароль к БД.

    4) Когда мы будем импортировать дамп с b00 за нужное число в базу данных, нужно удостовериться в том, что эта база есть. Заходим в клиентскую панель управления хостингом, находим вкладку «Базы Данных» и ищем название базы, которую клиент указал в заявке. Если таковой не имеется, нужно эту базу создать. Создаём в панели пользователя БД, пароль ему указываем из конфига, хост %. Теперь создаём БД, указываем этого пользователя и все привилегии.

    5) Теперь сверяем конфиги и реквизиты в панели управления хостингом. Они должны соответствовать. Хост для подключения в конфиге указываем для внешнего подключения. Он есть над таблицей «Базы данных» и начинается с букв mysql.

    6) Возвращаемся на b00 в папку с дампом, пишем команду zcat <имя дампа> | mysql -h<хост базы данных на сервере> -u<пользователь> -p<пароль> <имя базы в которую будет помещён дамп>.

    Реквизиты берутся из панели управления или из конфига.

    Пример:

    zcat db23412.dump.gz |mysql -hdbhe22.hoster.ru -usrv23412 -pusrpass11 srv54618_db23412

    7) Открываем сайт в браузере, смотрим изменения. Если база была новая, заходим в phpmyadmin, смотрим, чтобы появились таблицы.
    В целом, это всё, но есть множество нюансов:

    • Клиентская база использует localhost. В этом случае вывод команды grep -R hoster.ru ./ результатов не принесёт. Нужно будет зайти в панель управления хостингом, на вкладку БД, проверить, действительно ли пользователю задан хост localhost, а не % (сайт клиента может просто не использовать БД или не создана БД). Если база действительно использует localhost, это значит, что клиент не хочет, чтобы она не была доступна из вне, и редактировать её сможет только по ssh с нашего сервера.

    Конфигурационные файлы можно найти следующими командами:

    grep -R site.ru ./ | grep -v 'sql\|log'

    grep -ri html ./ | grep -v sc-error | grep -v errors

    site.ru или html - папка где Вы ищите конфиг.

    • Иногда База не работает, потому что в импортированном дампе и конфигурационном файле не совпадают префиксы таблиц. Заходим в dbadmin, смотрим префикс (одинаковая часть для всех таблиц в dbadmin) и сверяем со строчкой db_prefix в конфиге. Обычно он указывается со слешом. Например, ntcih_.

    • Иногда ничего не работает, потому что при редактировании мы нечаянно удалили закрывающие кавычки или двоеточия в строчках с реквизитами подключения, а потом не вернули их на место.

    • Иногда нужно править абсолютные пути к различным папкам на сайте. Такая ситуация возникает в основном после переноса всего сайта на новую услугу. (подробнее в разделе перенос сайта)

    • Бывает, что база отказывается работать из-за того что указан хост для внешнего подключения. Можно попробовать задать хост базы на сервере.


    Восстановление удалённых баз данных

    1) Удалённые базы можно поискать тут:

    /storage1/backup/oldusers/databases/mysql/

    или тут, если база переехала:

    /storage1/backup/oldusers/databases/mysql/moved

    командой find . | grep <имя бд>.

    2) Далее всё как выше. Сначала находим конфигурационные файлы со старыми реквизитами подключения к базе данных, создаём новую базу данных в клиентской панели управления. Исправляем конфиги с учётом изменений, внесённых в панель, так чтобы хост в конфиге соответствовал хосту для внешнего подключения в панели, имя пользователя, пароль и имя базы были новыми, везде были проставлены кавычки и запятые, префикс таблиц из phpmyadmin совпадал с тем, что в конфиге (если такая строчка вообще есть). Потом накатываем дамп с b00 в новую базу:

    zcat db23412.dump.gz |mysql -hdbhe22.hoster.ru -usrv23412 -pusrpass11 srv54618_db23412

    Помним что реквизиты в этом случае обновлённые.

    • Нюанс. Клиентский конфиг может быть доступен только для чтения. Тогда для внесения изменений можно воспользоваться редактором vi:

    Основные необходимые команды
    i - войти в режим редактирования текста

    esc - выйти из режима редактирования
    x - удаляет символ, на котором находится курсор

    u - отмена предыдущего дизменения

    ctrl+r -возврат предыдущего изменения

    shift+z+z - выход с сохранением
    :wq! - выход с сохранением и принудительной записью изменений
    :q! - выход без изменений
    Смена тарифа или переезд клиента на новый сервер

    1) В силу того, что мы не можем просто взять и изменить версию PHP на старых серверах, клиенту, которому нужна более новая версия PHP, мы предлагаем перенос. Сделать он его может как сам, так и мы ему платно:
    К сожалению, изменение версии PHP для данного тарифа невозможно, поэтому рекомендуем Вам перейти на один из новых тарифов: Альфа, Бета, Гамма или Дельта, которые поддерживают последнюю версию PHP 5.4.

    Для переноса сайтов Вам следует выполнить следующие действия:

    1) Загрузить файлы Ваших сайтов и дампы баз данных на Ваш компьютер. Файлы загружаются по FTP

    (инструкции по работе с FTP Вы можете найти на нашем сайте в разделе "Помощь": http://www.hoster.ru/faq/r62.htm), базы данных Вы можете экспортировать через dbAdmin. Почтовые ящики при переносе также будут удалены, поэтому, если Вам нужны некоторые письма, рекомендуем также сделать их копии.

    2) Заказать и активировать новый тарифный план через раздел "Новые услуги (заказ)".

    3) Удалить виртуальные хосты, базы данных и почтовые ящики, привязанные к Вашим сайтам на старом тарифе

    Делается это в разделах «Виртуальные хосты», «Базы данных» и «Почта».

    4) Перенести домены на новую услугу через раздел "Перенос домена" (Сначала выбираете услугу,

    с которой следует перенести домен, затем переносимый домен и, наконец, услугу, на которую следует

    осуществить перенос). Не забудьте после переноса обновить DNS-записи. Сначала можно оставить переключатель в положении «Создать по умолчанию», а затем подкорректировать созданные запись так, как Вам нужно.

    5) Загрузить файлы сайтов на новую услугу по FTP, создать новые виртуальные хосты для доменов на новом тарифе (раздел "Виртуальные хосты").

    Обратите внимание, что для загрузки файлов следует создать папку с именем домена и загрузить файлы

    непосредственно в нее (подпапок вроде html создавать не нужно). Кроме того необходимо создать новые базы данных в соответствующем разделе и импортировать в них дампы старых баз данных. Создать их можно в разделе "Базы данных". Сначала создайте пользователя (в поле "Хост" рекомендуем указать символ "%"), затем –

    саму базу данных. Получить доступ в dbAdmin можно, нажав на кнопку "dbAdmin" в таблице с базами данных.

    После этого в конфигурационных файлах сайта необходимо будет заменить реквизиты старых баз данных на новые. Размещение этих файлов зависит от типа Вашей CMS или специфики сайта. Затем для каждого домена необходимо восстановить почтовые ящики и алиасы.

    Предупреждаем, что при смене версии PHP на более новую, у вас могут возникнуть проблемы с совместимостью, если Ваш сайт не адаптирован к новой версии. В решени проблемы могут помочь разработчики Вашего сайта. Если в процессе переноса у Вас возникнут вопросы, мы обязательно на них ответим.
    Если Вы не хотите или не можете произвести вышеуказанные операции сами, мы можем перенести сайты с услуги на услугу за Вас на платной основе. Стоимость операции 1500 рублей для одного-двух сайтов и по 500 рублей за каждый дополнительный сайт.
    2) В целом, из шпоры всё понятно. Если сайт после переноса отказывается работать и техподдержка и админы не знают или не могут решить вопрос с адаптацией сайта к новой платформе, можно предложить клиенту либо обратиться к разработчикам (восстановление бесплатно), либо перенести услугу на сервер со старой версией PHP. В любом случае, выбор за клиентом.

    Сайт может не работать из-за того что не исправлены абсолютные пути. Этот момент тоже нужно проверить.

    3) Кодировка сайта задается как для файлов, так и для баз данных и делается это различными способами.

    Для файлов сайта она задается в файле .htaccess директивой AddDefaultCharset <значение>, где <значение> может быть:UTF-8, cp1251 (или windows-1251), koi8-r и некоторые другие, намного менее распространенные кодировки. Также можно добавить строку php_value mbstring.internal_encoding utf-8 в .htaccess

    В некоторых случаях, кодировка определяется в самих файлах, тогда нужно отключать принудительную выдачу кодировки строкой: AddDefaultCharset off

    Узнать нужную кодировку (если она не битая) можно по ссылке: http://www.artlebedev.ru/tools/decoder/

    Если манипуляции с .htaccess не дают результата (отображение неправильной кодировки не меняется вообще), переходим к пункту два.

    Для баз данных кодировка задается в php-файле, через который идет подключение к серверу MySQL.

    Для начала, файл нужно найти:

    grep -R mysql_connect *

    Далее, открываем текстовым редактором файл, ищем в нем строку с mysql_connect и сразу после нее (на следующей строке) добавляем:

    mysql_query("SET NAMES 'кодировка'");

    где кодировка - UTF-8, cp1251 (или windows-1251), koi8-r и некоторые другие,

    намного менее распространенные кодировки (которые и не каждому встречались). Указывается она в одинарных кавычках.

    4) Если после переноса сайт не заработал, и было принято решение тащить клиента на старый сервер, то делается это сменой сервера и хоста базы данных в трансфере, а потом простым ручным перетаскиванием. На c00 версия php 5.3 и в большинстве случаев перенос с сервера с php5.4 на 5.3 помогает.

    • В трансфере справа от услуги меняем клиенту сервер и хост базы данных.

    • Удаляем базу данных в клиентской панели, пересоздаём её там же но уже с новым хостом.

    • Архивируем содержимое услуги клиента на новом сервере, перемещаем в /home/sup<> командой mv, затем заходим на c00 в папку с тем же хуидом что и прежде и тащим туда архив из Вашей домашней директории командой scp.

    • Распаковываем содержимое архива, повторно заливаем дамп БД в базу с хостом c00db.hoster.ru

    • Правим абсолютные пути на всякий, проверяем, помогло ли.


    Переезд клиентской услуги от стороннего хостера нашими силами

    1) Существует такой класс клиентов-извращенцев, которые вообще не хотят ничего делать со своими файлами. Перенести их услугу от стороннего хостера на наш сервер мы тоже можем, но платно и при выполнении некоторых условий:

    • Клиент регистрируется в нашей панели и приобретает интересующий его тариф.

    • Клиента нужно предупредить, что его сайт может не заработать после переноса, а деньги за перенос мы возьмём, поэтому если он не хочет попасть впросак, лучше делать всё самому на тестовом периоде на 10 дней бесплатно.

    • Если клиент согласился платить, от него требуется ssh-доступ к его услуге (логин и пароль), которые он может найти в панели управления или запросить у хостера. И расположенные на услуге архивы с файлами его сайта (папки, в принципе, тоже хватит, потому что можно осуществить архивирование на лету) и дампом базы.


    2) Начинается самое интересное. Подобный перенос лучше делать, если есть возможность задать админам вопрос, потому что просто скачать файлы с его услуги у стороннего хостера и залить на новую услугу у нас с помощью ftp клиента может занять добрых 5 часов.

    3) Подключаемся к клиентской услуге у стороннего хостера с предоставленными реквизитами ssh и оцениваем размер сайта:

    [u295727@btx8 /xn--80aerbai0dd.xn--p1ai]$ du -h -d 1 .

    2,0k ./cgi-bin

    2,0k ./tmp

    4,6G ./www

    4,6G .

    4) Осуществляем перенос архива сайта на наш сервер

    [u295727@btx8 /xn--80aerbai0dd.xn--p1ai]$ cd ..

    [u295727@btx8 ]$ tar -cf - xn--80aerbai0dd.xn--p1ai | ssh srv102165@ssh-102165.srv.hoster.ru 'tar -xf - '

    Или, если там незапакованная папка, а памяти на его услуги для создания архива уже нет, то осуществляем перенос папки с архивацией на лету. То есть, файлы будут архивироваться, а потом распаковываться уже на нашем сервере:

    [u295727@btx8 /mysql55]$ scp -r u295727_activ.gz srv102165@ssh-102165.srv.hoster.ru: (файл, наш пользователь,

    наш сервак, потом выполнить команду и ввести наш ssh пароль). Реквизиты берем с его новой услуги. Пример приведен с услугой на c03.

    5) Затем создаём ему базу в нашей панели управления и загружаем в неё дамп напрямую со стороннего сервера, исполняя команды:

    mysql -hc03db.hoster.ru -usrv102165_295727 -pmantiver51 srv102165_activ < u295727_activ

    [root@b00 ]# mysqladmin -hc03db.hoster.ru -umanagemysql -pjka84nas8yfa processlist
    Механизм работы команд, понятие реквизитов суперпользователя managemysql и где какие реквизиты вписывать, лучше уточнять у администраторов.
    Windows хостинг
    К серверам на Windows относятся webs, mssql2005 и he13. Подключаться к ним можно по RDP ("Подключение к удаленному рабочему столу", стандартная утилита в windows), реквизиты в шпаргалках.
    Перемещаются файлы между серверами с помощью сетевых дисков: например, помещаем файл в C:\data на webs и обнаруживаем его на диске Z: на he13.

    Бэкапятся эти сервера на b00, webs назван как he6. Бэкапы так же появляются в /tmp/bacula-restores. Сами папки с клиентскими услугами находятся, в C:\hosting.

    Бэкапы баз находятся на mssql2005 в D:\newbackup, инструкцию по восстановлению можно найти здесь:

    http://wiki.citytelecom.ru/showthread.php?t=1621&highlight=mssql.

    Если требуется поменять права на файлы, выделяем файлы (или папки, только одно из двух) и в контекстном меню выбираем свойства, там — безопасность.

    Чаще всего требуется дать права на запись NETWORK SERVICE, иногда добавить нового пользователя (Добавить - Дополнительно - Поиск).
    Postgres SQL
    http://wiki.citytelecom.ru/showthread.php?t=672&highlight=psql
    1) Вариант1. pgsql82.hoster.ru

    -> b00 /storage1/backup/databases/users/postgresql/pgsql82.hoster.ru/20140306/db71485p.dump.bz2
    2)Вариант2. pgsql.hoster.ru

    jail на oldmysql.hoster.ru -> по ssh -> jexec 1 csh
    ..............
    [root@oldmysql /data/pgsql.hoster.ru/var/db/pgsql/backups]# ls "pgdump_db13679p_2014-03-06T03:02:27"

    pgdump_db13679p_2014-03-06T03:02:27
    [root@oldmysql /data/pgsql.hoster.ru/var/db/pgsql/backups]# cp "pgdump_db13679p_2014-03-06T03:02:27" /root/pgdump_db13679p_2014-03-06 - перемещаем в root сменив название
    scp /root/pgdump_db13679p_2014-03-06 sup03@st0.hoster.ru: - перемещаем в st0 из oldmysql

    потом на сервер.
    Как накатывать.

    oldmysql -> команда jls -> jexec 2 bash (2 это JID) -> перетащить дамп с b00 на oldmysql в jail

    /data/pgsql82.hoster.ru/root (в jls видны пути к корневым папкам jail-ов справа) -> входим в jail -> root/

    дампим текущее состояние pg_dump -b -U pgsql -Fp -i -h pgsql82.hoster.ru db48789p > db48789p.sql.bak

    -> bunzip2 dump -> psql -U p16558 -f z2.sql db16558p (-U пользователь из панели, -f имя файла, и база из панели).


    написать администратору сайта