Как резервировать и восстановить Kablink.

Введение.

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

 Следует отметить, в панели управления администратора специальной кнопки, создать архив нет. Здесь, предлагается простой, проверенный временем, надежный сценарий kbbk написанный на shell, с возможность автоматизации расписания выполнения создания архива(ов), при помощью cron. Для начала определимся, что мы будем сохранять и восстанавливать, вероятно это БД Kablink, хранилище Kablink и контейнер Apache-Tomcat (необязательно) т.к в нём могут находится настраиваемые страницы jsp  и прочие специфичные файлы вашей организации.

План подготовки резервной копии и автоматизация процесса.

Создание резервной копии.

  • Листинг kbbk:
    • сценарий kbbk поместить в /usr/local/bin
    • архивы лучше хранить на отдельном томе
#!/bin/bash TEMPDIR=/tmp/kb_bk/ BACKUPDIR=/vol/ mkdir -p $TEMPDIR # Стоп Kablink /etc/init.d/teaming stop # systemctl stop vibe # Создать dump MySQL и копировать во временный каталог mysqldump -u user -ppassword -A > $TEMPDIR/all_bd.sql # Стоп MySQL /etc/init.d/mysql stop # Копировать каталоги во временную директорию cp -r /var/opt/novell/teaming $TEMPDIR # Старт MySQL /etc/init.d/mysql start # Старт Kablink /etc/init.d/teaming start # systemctl start vibe # Сжать и добавить дату создания(максимально до 31 дня месяца) tar -cjf $BACKUPDIR/tim_`date +%d`_back.tar.bz2 $TEMPDIR # Очистить временный каталог rm -rf /tmp/teamback

 Здесь, вероятно, особых пояснений не требуется, нужно будет только переписать пути и каталоги под себя. Важно учесть время для выполнения задачи создания резервной копии, что бы не мешать работе пользователей.

 Управлять количеством резервных копий необходимо по мере их накопления, администратор должен удалять старые архивы вручную, что потребует дополнительного внимания. Но, «чистку» старых архивов можно автоматизировать, поручив выполнение этой операции планировщику cron, который будет запускать сценарий delkb из каталога /usr/local/bin/:

Сценарий удаления старых архивов delkb.

#!/bin/bash # DEY- delete file N day DAY=5 DIR="/vol/" find $DIR -type f -mtime +$DAY -exec rm -f {} \;
  • Пояснения сценария delkb
    • DAY=5         
    • количество дней, старше, которых файлы будут удаляться.
    • DIR=»/vol/»   
    • каталог архива
    • -type f          
    • найти только файлы
    • -mtime        
    • поиск по времени модификации файла
    • +$DAY       
    • определяет значение дней в большею сторону
    • -exec          
    • выполнить следующею команду
    • rm -f          
    • удаление каталогов и файлов не спрашивая

 Рассмотрим небольшой пример, допустим мы установили план создания резервных копий Kablink, один раз в день в 00 ч 00 м. Планировщик cron будет выполнять удаление старых архивов один раз в месяц, запуская сценарий delkb.

# crontab -l #minute (0-59), #|      hour (0-23), #|      |       day of the month (1-31), #|      |       |       month of the year (1-12), #|      |       |       |       day of the week (0-6 with 0=Sunday). #|      |       |       |       |       commands @daily kbbk @monthly                              delkb

Планировщик cron выполняет сценарий delkb  один раз в месяц в полночь 1-го числа

Вид архива за месяц до запуска delkb, некоторые подробности  вывода команды ls пропущены.

vol]# ls -l ...  month  1  tim_01_back.tar.bz2 ...  month  2  tim_02_back.tar.bz2 ...  month  3  tim_03_back.tar.bz2 ...  month  4  tim_04_back.tar.bz2 ...  month  5  tim_05_back.tar.bz2 ...  month  6  tim_06_back.tar.bz2 ...  month  7  tim_07_back.tar.bz2 ...  month  8  tim_08_back.tar.bz2 ...  month  9  tim_09_back.tar.bz2 ...  month 10  tim_10_back.tar.bz2 ...  month 11  tim_11_back.tar.bz2 ...  month 12  tim_12_back.tar.bz2 ...  month 13  tim_13_back.tar.bz2 ...  month 14  tim_14_back.tar.bz2 ...  month 15  tim_15_back.tar.bz2 ...  month 16  tim_16_back.tar.bz2                                                                                                               ...  month 17  tim_17_back.tar.bz2 ...  month 18  tim_18_back.tar.bz2 ...  month 19  tim_19_back.tar.bz2 ...  month 20  tim_20_back.tar.bz2 ...  month 21  tim_21_back.tar.bz2 ...  month 22  tim_22_back.tar.bz2 ...  month 23  tim_23_back.tar.bz2 ...  month 24  tim_24_back.tar.bz2 ...  month 25  tim_25_back.tar.bz2 ...  month 26  tim_26_back.tar.bz2 ...  month 27  tim_27_back.tar.bz2 ...  month 28  tim_28_back.tar.bz2 ...  month 29  tim_29_back.tar.bz2 ...  month 30  tim_30_back.tar.bz2 ...  month 31  tim_31_back.tar.bz2

Список архивов после выполнения delkbb.

# ls -l ...  month  7  tim_07_back.tar.bz2 ...  month  8  tim_08_back.tar.bz2 ...  month  9  tim_09_back.tar.bz2 ...  month 10  tim_10_back.tar.bz2 ...  month 11  tim_11_back.tar.bz2 ...  month 12  tim_12_back.tar.bz2 ...  month 13  tim_13_back.tar.bz2 ...  month 14  tim_14_back.tar.bz2 ...  month 15  tim_15_back.tar.bz2 ...  month 16  tim_16_back.tar.bz2                                                                                                               ...  month 17  tim_17_back.tar.bz2 ...  month 18  tim_18_back.tar.bz2 ...  month 19  tim_19_back.tar.bz2 ...  month 20  tim_20_back.tar.bz2 ...  month 21  tim_21_back.tar.bz2 ...  month 22  tim_22_back.tar.bz2 ...  month 23  tim_23_back.tar.bz2 ...  month 24  tim_24_back.tar.bz2 ...  month 25  tim_25_back.tar.bz2 ...  month 26  tim_26_back.tar.bz2 ...  month 27  tim_27_back.tar.bz2 ...  month 28  tim_28_back.tar.bz2 ...  month 29  tim_29_back.tar.bz2 ...  month 30  tim_30_back.tar.bz2 ...  month 31  tim_31_back.tar.bz2

План восстановления Kablik.

  • Порядок:
    • пробное, на стенде, восстановление резервной копии
    • установить сервер с параметрами оригинала
    • развернуть Kablink той же версии, что и при создании резервной копии
    • выполните действия, как показано ниже

Восстановление Kablink.

Распаковать копию архива Kablink.

# tar xvf tim_data_back.tar.bz2

Остановить Kablink или Vibe.

# /etc/init.d/teaming stop
# systemctl stop vibe

Скопировать или переписать файлы хранилищ пользователей из архива в целевой каталог.

# cp -invR tim_bk/teaming /var/opt/novell

Выполнить восстановление и проверку базы данных mysql Kablink.

# tim_bk mysql -uroot -pkablink -A < all_bd.sql # mysqlcheck -uroot -pkablink --auto-repair --check --all-databases

Запустить kablink.

# /etc/init.d/teaming start
# systemctl start vibe

Все шаги рассмотренные выше, можно использовать для Vibe, заменив kbbk на vbbk

Заключение.

 Если после всех шагов рассмотренных выше ошибок не произошло, остаётся зарегистрироваться на Портале как admin и выполнить операцию индексирования БД и файлов Kablink. Хранить резервные копии лучше всего на отдельном дисковом ресурсе(сах), периодичность и частота создание архивных копий может соответствовать работе предприятия и рассчитываться примерно по такой регламентной схеме: понедельник, вторник, среда, четверг, пятница в 23 час 59 мин должен включаться crontab, создавать архив, после чего готовые и сжатые архивные копии перемещаются в подготовленный для них хранилище.

Вся технологическая процедура резервного копирования осуществляется автоматически, без участия администратора — достигается проверкой всех этапов создания  backup на стенде, размеры тестируемых каталогов и БД можно делать небольшими, для уменьшения времени окончания операций, общий прогон делают на действующем Портале Kablink. И ещё одно замечание, никогда не храните резервные копии на диски где установлен kablink, это может привести к печальным последствиям — отказу оборудования от обслуживания.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты