ОPENRUT - ДОТ ХОЛДИНГА РЖД. АРХИВНАЯ СИСТЕМА. RESTORE Кривич О.Ю.1, Петров Г.И.2, Мироненко О.И.3, Бредихин О.Д.4, Сергеев И.К.5, Мироненко Н.О.6 Email: Krivich1147@scientifictext.ru
'Кривич Ольга Юрьевна - кандидат технических наук, доцент, декан,
факультет транспортных средств; 2Петров Геннадий Иванович - доктор технических наук, профессор, факультет подвижного состава железных дорог; 3Мироненко Олег Игоревич - старший преподаватель, кафедра нетягового подвижного состава, Российский университет транспорта; 4Бредихин Олег Дмитриевич - инженер-программист, Государственная публичная научно-техническая библиотека России; 5Сергеев Иван Константинович — студент; Мироненко Никита Олегович — студент, кафедра нетягового подвижного состава, Российский университет транспорта, г. Москва
Аннотация: в статье рассматривается система восстановления архивных копий, созданных автоматизированной архивной системой, используемой в ДОТ холдинга РЖД. Система была реализована на скриптовом языке Bash, используемом в операционной системе Linux. Рассмотрены этапы создания и практической реализации восстановления системы. Скрипт запускается в удобное время для восстановления системы. Отличительной особенностью системы является простота работы, обслуживания и быстродействие. Система прошла длительный период эксплуатации на рабочих серверах и показала себя полностью рабочей и надежной.
Ключевые слова: РЖД, система управления веб-содержимым, блог, интернет, производство, обслуживание, ремонт, нормирование, запасные части.
ОPENRUT - DOT HOLDING RZHD. ARCHIVING SYSTEM. RESTORE Krivich O.Yu.1, Petrov G.I.2, Myronenko O.I.3, Bredikhin O.D.4, Sergeev I.K.5, Mironenko N.O.6
'Krivich Olga Yuryevna - Candidate of technical Sciences, Associate Professor, Dean, FACULTY VEHICLES; 2Petrov Gennady Ivanovich - Doctor of technical Sciences, Professor, FACULTY OF ROLLING STOCK OF RAILWAYS;
3Mironenko Oleg Igorevich - Senior Lecturer, DEPARTMENT NON-TRACK ROLLING STOCK; 4Bredikhin Oleg Dmitrievich - Software Engineer, STATE PUBLIC SCIENTIFIC AND TECHNICAL LIBRARY OF RUSSIA; 5Sergeyev Ivan Konstantinovich - Student; 6Mironenko Nikita Olegovich — Student, DEPARTMENT NON-TRACK ROLLING STOCK, RUSSIAN UNIVERSITY OF TRANSPORT, MOSCOW
Abstract: the article discusses the system restore backups created an automated archival system used in the DOT of Russia's railways holding. The system was implemented in the bash scripting language used in the Linux operating system. The stages of creation and practical realization of system restoration are considered. The script runs at a convenient time to restore the system. A distinctive feature of the system is the ease of operation, maintenance and performance. The system has passed a long period of operation on production servers and proved to be fully working and reliable.
Keywords: RAILWAYS, CMS, Blog, Production, Maintenance, Repair, Rationing, Spare parts.
УДК 629.4
В предыдущих статьях рассматривался принцип функционирования и составные части системы openRUT - ДОТ холдинга РЖД. Данная статья посвящена одной из обслуживающих подсистем openRUT -системе восстановления рабочего состояния из архивного файла. Напомним, что система openRUT базируется на операционной системе Linux и реализация была произведена для этой системы. После написания нами архивной системы мы реализовали данную систему для корректного восстановления системы openRUT на языке Bash. Рассмотрим, что должна сделать система восстановления [1]:
1. Выдать предупреждения пользователям системы, о переходе в режим обслуживания.
2. Через заданное время перейти в режим обслуживания.
3. Удалить временные и ненужные файлы
4. Восстановить резервную копию базы MySQL.
5. Восстановить резервную копию системных файлов.
6. Восстановить резервную копию пользовательских файлов.
7. Выйти из режима обслуживания.
Ниже приводится сама программа на языке Bash операционной системы Linux, выполняющая все перечисленные действия.
Программа довольна проста и в необходимых местах прокомментирована. #!/bin/bash
function Header {
echo ""
echo -e $RED2 $ENDCOLOR
echo -e $RED2 $ENDCOLOR echo ""
}
if [ "$(whoami)" != 'root' ]; then echo "Error: must be root" echo "Exiting..." exit 1 fi
PASS="passwd" DBNAME="dbmysql"
CURPATH="/media/Work/BackUp/open/Сurrent/"
DEST_SITE="/var/www/html/open"
DEST_DATA="/var/www/moodledata"
WWW_DATA= "/var/www"
YELLOW="\033[1;33m"
RED="\033[0;31m"
RED2="\033[1;31m"
GREEN="\033[0;32m"
GREENLT="\033[1;32m"
BLUE="\033[1;34m"
CYAN="\033[1;36m"
MAGENTA=""
ENDC0L0R="\033[0m"
START=$(date +%s) # Для времени работы скрипта
TIME=$(date +%F_%H-%M-%S)
clear
Header
cd $DEST_SITE
if ! [ -f $CURPATH*open. sql ]; then
echo "Файл_open.sql не существует."
exit 1
fi
if ! [ -f $CURPATH*open_data.tgz ]; then
echo "Файл_open_data.tgz не существует."
exit 1
fi
if ! [ -f $CURPATH*open_www.tgz ]; then
echo "Файл_open_www.tgz не существует."
exit 1
fl
printf "\033[1;31m Восстанавливать? \033[1;33m(y/n) \033[0m \n" read item
If [[ ! $item =~ A[Yy]$ ]] then exit 1
fi
cd $DEST_SITE
# !!! Вход в режим ТЕХНИЧЕСКОГО ОБСЛУЖИВАНИЯ !!! echo -e $ YELLOW "У Тех-обсл." $ENDCOLOR
sudo -u www-data /usr/bin/php /var/www/html/open/admin/cli/maintenance.php --enable 1>/dev/null
rm -R $DEST_SITE
rm -R $DEST_DATA
mkdir $DEST_SITE
mkdir $DEST_DATA
cd $WWW_HTML
pv -pN' www1 -w78 $CURPATH*_open_www.tgz | tar xz cd $WWW_DATA
pv -pN' data' -w78 $CURPATH*_open_data.tgz | tar xz printf "\e[1;33m %s\r \e[0m" " Create DataBase ждите ..."
pv -pN' db' -w78 $CURPATH*_open.sql | mysql -uroot -p${PASS} ${DBNAME} 2>/dev/null
cd $CURPATH
echo " Groups and Own"
chown -R www-data:www-data $DEST_SITE
chgrp -R www-data $DEST_SITE
chmod -R 755 $DEST_SITE
chown -R www-data:www-data $DEST_DATA
chgrp -R www-data $DEST_DATA
chmod -R 755 $DEST_DATA # 755
# !!! Выход из режима ТЕХНИЧЕСКОГО ОБСЛУЖИВАНИЯ !!! cd $DEST_SITE
sudo -u www-data /usr/bin/php /var/www/html/open/admin/cli/maintenance.php --disable 1>/dev/null
# Подсчет времени работы скрипта END=$(date +%s)
DIFF=$(( $END - $START ))
echo -e $ YELLOW "= $DIFF сек" $ENDCOLOR
echo -e $GREENLT " Боевой режим ..." $ENDCOLOR
Программа запускается по мере необходимости. Обращаем особое внимание на то что восстановленная версия удалит все данные текущей (существующей) версии системы, и вернуть текущую версию будет невозможно. В файл /var/log/syslog пишется протокол работы. Данная программа проверялась большое количество раз, и показала замечательные результаты. Время восстановления рабочей системы оказалось самой минимальной по сравнению с другими аналогичными системами.
Список литературы / References
1. Сергеев К.А. Технологическая подготовка производства вагоноремонтных предприятий. Монография // Российский государственный открытый технический университет путей сообщения. Москва, 2008.
2. Сергеев К.А., Готаулин В.В., Кривич О.Ю. Параметрический анализ технологических процессов вагоноремонтного производства // Наука и техника транспорта, 2007. № 3. С. 20-24.
3. Сергеев К.А., Гундаев И.В., Сидоров Е.С. Разработка математических моделей системы автоматизированного проектирования технологических процессов ремонта вагонов // Наука и техника транспорта, 2011. № 3. С. 62-64.