Cooper's Digital Library
DLibrary.org Contact Us Login
Create Tools Manage
 
 You Are Here:  Home   My Documents   My Projects   ezBackup

ezBackup

Проект  построения системы резервного копирования данных складского учета магазина ООО «Листвяны».

Проект  построения системы резервного копирования данных складского учета магазина ООО «Листвяны». 1

1. Общие положения 1

2. Порядок выполнения резервного копирования 1

3. Установка и настройка необходимого программного обеспечения 2

3.1. Ruby 2

3.2. Архиватор PKZIPC 2

3.3. InCD 2

3.4. Скрипт ezBackup 2

4. Еженедельное копирование 3

5. Ежедневное копирование 4

6. Восстановление данных из архива 5

7. Получение текущей версии скрипта из Subversion репозитария 5

8. Используемое ПО 5

9. Полезные ссылки 5

10. TO-DO List 5

1. Общие положения

Для автоматизации количественно суммового учета магазином используется программа НИИПК-КСУ. Эта система написана на языке Clipper, в качестве БД используются файлы формата DBF, индексные файлы формата NTX. База данных, выполняемые файлы, индексы размещаются в поддиректориях одного каталога на каком либо из логических дисков компьютера. Обычно это диск C:, название директории /KSU.
 Технологический процесс работы склада построен следующим образом. Началом работы являлось заведение первоначальных остатков по имевшейся номенклатуре товаров. Далее по приходным, расходным документам (накладным, списаниям, переоценкам, и т. д.) на еженедельной основе формируются ненулев���� отчеты, затем остатки и оборотная ведомость. После чего, для уменьшения размера справочников товаров производится его ручная очистка, -- удаляется номенклатура, для которой нет остатков на складе на конец отчетного периода (неделя в нашем случае).

2. Порядок выполнения резервного копирования

  Исходя из всего вышеперечисленного строится и политика резервного копирования. Каждую неделю (в воскресенье вечером), после завершения сверки со складом, фор��ирования ненулевого отчета, и затем оборотной ведомости и остатков на дату, выполняется полное резервное копирование всех файлов системы (full backup).
  В конце каждого рабочего дня все измененные за этот день файлы сохраняются в ежедневном инкрементальном бэкапе (incremental backup). Преимущества такого подхода в том, что нет необходимости делать полный бэкап системы каждый день, что ведет к неэкономному расходованию места на носителях (CD-ROMах) и несколько увеличивает время выполнения резервирования. С другой стороны, есть и свои минусы, -- в случае необходимости восстановления информации из резервной копии, необходимо раскрыть полный бэкап и затем  "накатить"  все инкрементальные бэкапы. Т.е. если, например, мы восстанавливаем состояние баз данных на вечер четверга, то сначала извлекаем из бэкапа данные за воскресенье, затем последовательно извлекаем и накатываем данные за понедельник, вторник, среду, четверг.
  Для создании более надежной системы бэкапирования дополнительно, в конце недели после выполнения полного бекапа, он выполняется еще раз на другой CD-диск. Этот диск затем извлекается из дисковода и переносится в безопасное место. Таким образом, существует два комплекта бекапов. Один, содержащий полные и инкрементальные версии и находящийся в непосредственной близости от компьютера (а скорее всего постоянно нахо��я��ийся в CD-ROM дисководе). Второй, состоящий только из полных еженедельных бэкапов и находящийся на не��отором расстоянии (желательно в другом здании) от рабочего компьютера.

3. Установка и настройка необходимого программного обеспечения

3.1. Ruby

Система резервного копирования разработана с использованием языка программирования Ruby, поэтому прежде всего требуется его установка на компьютере. Дистриб��тив Ruby можно получить с сайта http://www.ruby-lang.org/ .

3.2. Архиватор PKZIPC

Для более оптимального использования свободного пространства на устройстве, хранящем бэкапы (CDROM, директория жёсткого диска, USB Flash Drive, и т.д.), данные перед копированием архивируются. Для этого используется архиватор PKZIPC (http://cooper.dlibrary.org/retrieve/547/pkzipc.zip).

3.3. InCD

 При использовании в качестве устройства для хранения бэкапов CDROM, необходимо предварительно установить программу InCD, позволяющую обращаться к устройству чтения компакт-дисков как к обычному жёсткому диску. Перезаписываемый CD (CD-RW) предварительно размечается в специальный формат программы, и после этого с ним можно работать без применения различных специализированных программ записи CD-дисков типа Nero Burning ROM. Диалог форматирования но��ого диска автоматически появляется при пом��щении его в устройства.

Также запустить процесс форматирования можно из контекстного меню в окне «Мой компьютер», наведя курсор на устройство CDROM и нажав правую клавишу мыши.

Скачать программу и получить дополнительную информацию можно по этой ссылке http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Nero-InCD.shtml

 

3.4. Скрипт ezBackup 

Файлы, относящиеся непосредственно к скрипту резервного копирования размещаются в каталоге ezBackup/
Предварительно, в файле скрипта ezbackup.rb, необходимо проверить правильно ли выставлены значения перемен��ых с информацией о директории, которую нужно бэкапировать, а также имя диска и директории, куда будет сохраняться еженедельный и ежедневный бэкап:

# Global path
BACKUP_PATH = 'C:\\KSU\\'
INC_PATH = 'h:\\Backups\\DailyBackup\\'
FULL_PATH = 'h:\\Backups\\WeeklyBackup\\'


Для удобства запуска процесса бэкапиро��ания создается ярлык на рабочем столе с помощью которого запускается пакетный файл backup.bat

4. Еженедельное копирование

Процесс резервного  копирования запускается с помощью ярлыка на рабочем столе «Резервное копирование БД КСУ». В появившемся меню нужно выбрать пункт номер «1»  (Еженедельное) и нажать клавишу Enter. Через некоторое время (от нескольких секунд до 5 минут) при нормальном завершении процесса создания резервной копии появится сообщение «Резервное копирование завершено успешно!» и, на следующей строке «Для продолжения нажмите любую клавишу  . . .  ». Нажимается клавиша Пробел или Enter и пользователь возвращается на рабочий стол Windows.

 

Файлы полного бэкапа сохраняю��ся в директории, заданной при установке системы "FULL_PATH"  (см. п. 3). Название для них формируются по следующему шаблону:

full_yymmdd_HHMMSS.zip,

где

 yy – Год

 mm – месяц

 dd – день

 HH – час

 MM – минуты

 SS – секунды

 

 например:  full_060519_163713.zip – еженедельное (п��лное) резервное копирование за 19 мая 2006 года. Стартовал процесс бэкапирования в 16 часов 37 минут 13 секунд.

 

Все действия, произведенные программой и пользователем, фиксируются в общем лог-файле ezbackup.log, находящимся в той же директории, что и backup-скрипт. Также для каждой бэкап-сессии создается индивидуальный лог-файл, сформированный на основе результатов работы архиватора pkzipc. В нем в частности можно посмотреть список файлов, попавших в бэкап и их процент сжатия. Сохраняется этот файл в одной директории с бэкапом. Имя файла совпадает с именем файла с бэкапом, расширение -- .log

 Если в качестве целевого диска для хранения резервных копий выбран CD-ROM, то надо следить за тем, чтобы было достаточно места для записи очередного бэкапа. Ситуация, когда места на диске все-таки недостаточно также предусмотрена в программе. В этом случае, во время процесса бэкапирования выдается информационное сообщение об ошибке (см. рис. ниже). Завершив работу скрипта (нажав Enter), необходимо заменить диск в CD у��тройстве, провести его первоначальное форматирование (см.п.3.3.). По завершении процесса форматирования можно еще раз запустить программу резервного копирования и выполнить Еженедельный (полный) бэкап.

 

 

5. Ежедневное копирование

Процесс запускается с помощью ярлыка на рабочем столе «Резервное копирование БД КСУ». На приглашение программы выбрать нужный пункт, нужно нажать «2» и затем Enter.  Ежедневный бэкап обычно выполняется гораздо быстрее еженедельного, т.к. в этом случае происходит архивирование только измененных за день файлов. После завершения резервного копирования появляется сообщение «Резервное копирование завершено успешно!» и, на следующей строке «Для продолжения нажмите любую клавишу  . . .  ». Нажимается клавиша Пробел ��ли Enter и пользователь возвращается на рабочий стол Windows.

 По аналогии с полным бэкапом все действия пользователя и программы заносятся в лог-файл ezbackup.log, а результат работы про��раммы pkzipc в отдельный файл, сохраняемый вместе с файлом бэкапа. Формат имени и правила его формирования  бэкап и лог-файлов (см. п.4) практически совпадают с формато�� для полного бэкапа, только вместо "full" имя начинается с "inc".

 В ряде случаев после выполнения ежедневного бэкапа можно увидеть следующее сообщение:

 PKZIP: (E8) Nothing to do!

Это не является ошибкой и означает, что с момента проведения последнего ежедневного бэкапа не было произведено ни одного изменения в рабочих файлах программы. В этом случае, zip-архив с файлом бэкапа не создается, однако лог-файл сохраняется для протоколирования событ��я запуска бэкапа.

6. Восстановление данных из архива

Процесс восстановления производится только в случае крайней необходимости, когда в результате выхода из строя жёсткого диска или неаккуратного действия пользователя пропали все или часть данных. Причём рекомендуется выполнять восстановление из резервной копии в каталог, отличный от рабочего каталога программы. Например, если рабочая программа размещается в C:\KSU, то при восстановлении надо использовать другую директорию, например C:\KSU_RESTORE

 Процесс восстановле��ия зависит от того, на какой момент времени необходимо получить состояние рабочих баз данных программы.  В первую очередь стоит определиться какую версию полного бэкапа выбрать. Затем, после восстановления полной версии, накатываются инкрементальные бэкапы. Например, если нам надо восстановить состояние вечера четверга 18 мая 2006 года, необходимо сначала извлечь воскресный бэкап за 14 мая, а после этого «накатить»  бэкапы за понедельник, вторник, среду, четверг:

pkzipc -extr=up H:\Backups\WeeklyBackup \full_060514_120001.zip C:\KSU_RESTORE  -- восстановление полного воскресного бэкапа
pkzipc -extr=up H:\Backups\DailyBackup\inc_060515_120001.zip C:\KSU_RESTORE
pkzipc -extr=up H:\Backups\DailyBackup\inc_060516_120001.zip C:\KSU_RESTORE
pkzipc -extr=up H:\Backups\DailyBackup\inc_060517_120001.zip C:\KSU_RESTORE
pkzipc -extr=up H:\Backups\DailyBackup\inc_060518_120001.zip C:\KSU_RESTORE

7. Получение текущей версии скрипта

7.1. Subversion-репозитарий

svn co svn://dlibrary.org/ezBackup/trunk ezbackup

7.2. Zip-файл

http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup/ezbackup.zip

8. Используемое ПО

9. Полезные ссылки

10. TO-DO List

  1.  При первом запуске скрипта резервного копирования осуществлять проверку существования  на целевом устройстве каталогов для хранения бэкапов. В случае отсутствия создавать их. 
 Documents
1.  pkzipc  
 Permanent address: http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup/pkzipc.zip
 Format:  Unknown
2.  ezBackup sources  
 Permanent address: http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup/ezbackup.zip
 Format:  Unknown
 
 Images
1. 
 Full backup done  
 Permanent address: http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup/full_backup_done.png
 Format:  image/png
 full_backup_done.png (3Kb)
2. 
 Inc. Backup done  
 Permanent address: http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup/inc_backup_done.png
 Format:  image/png
 inc_backup_done.png (3Kb)
3. 
 Error during backup  
 Ошибка, возникающая при нехватке места на целевом устройстве (CDROM, HDD Directory, USB Falsh Drive, ...)
 Permanent address: http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup/full_backup_error1.png
 Format:  image/png
 full_backup_error1.png (5Kb)
4. 
 InCD format disk screen  
 Permanent address: http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup/image001.gif
 Format:  GIF
 image001.gif (9Kb)
5. 
 InCD format from context menu  
 Permanent address: http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup/image003.jpg
 Format:  JPEG
 image003.jpg (12Kb)
 
Permanent address of this page: http://cooper.dlibrary.org/handle/main/My_Documents/My_Projects/Listviany_s_backup