Відмінності між версіями «Оновлення DSpace»
Dubyk (обговорення • внесок) м (→Посилання) |
Dubyk (обговорення • внесок) м (→Посилання) |
||
Рядок 131: | Рядок 131: | ||
= Посилання = | = Посилання = | ||
− | * dspace.2283337.n4.nabble.com/ „[http://dspace.2283337.n4.nabble.com/Dspace-tech-Restoring-backup-td3278291.html | + | * dspace.2283337.n4.nabble.com/ „[http://dspace.2283337.n4.nabble.com/Dspace-tech-Restoring-backup-td3278291.html Dspace-tech: Restoring backup]“ |
[[Категорія:Бібліотека]] | [[Категорія:Бібліотека]] | ||
[[Категорія:DSpace]] | [[Категорія:DSpace]] |
Версія за 09:20, 22 лютого 2012
Оновлення DSpace
Оновлення DSpace 1.5.2 »» 1.8.1
Відхід від рекомендованого оновлення
В офіційних керівництвах рекомендується робити покрокові оновлення, зокрема:
Однак описаний в цих керівництвах метод не дав результату. Декілька причин:
1) Конфігураційний файл dspace.cfg — рекомендується вносити в нього усі зміни, що з’являються від версії до версії, а їх доволі багато. Виявилося простіше перенести персональні налаштування у новий dspace.cfg.
2) Скомпілювати DSpace на 1.6.2 так і не вдалося.
Отож розглядається варіант встановлення нового DSpace 1.8.1 та перенесення на нього усіх даних та налаштувань.
Резервна копія
Копія БД:
для таблиці „dspace“:
sudo -u postgres pg_dump -Ft -b -U dspace dspace | pbzip2 -9 > /home/dspace/backups/pg_dump__dspace__DSpace_1_6_2_Postgres_8_4.tar.bz2
для усєї БД:
sudo -u postgres pg_dumpall -U postgres | pbzip2 -9 > /home/dspace/backups/pg_dumpall__DSpace_1_6_2_Postgres_8_4.sql.bz2
Архівування сховища „assetstore“:
tar -cvf assetstore_dspace.tar /usr/share/dspace/assetstore/ pbzip2 -f assetstore_dspace.tar
Встановлення Debian GNU/Linux
Детальніше про встановлення Debian.
Встановлення DSpace
Детальніше про встановлення DSpace.
Бекапи
Тека бекапу БД DSpace 1.5.2:
mkdir /home/dspace/backups/1_5_2
Сюди копіюємо бекапи
pg_dumpall_elartu_02-20-2012_13-27.sql.bz2
pg_dump_dspace_elartu_02-20-2012_13-27.tar.bz2
assetstore_elartu_02-20-2012_17-52.tar.bz2
та розпозпаковуємо їх
pbzip2 -d pg_dumpall_elartu_02-20-2012_13-27.sql.bz2 pbzip2 -d pg_dump_dspace_elartu_02-20-2012_13-27.tar.bz2 pbzip2 -d assetstore_elartu_02-20-2012_17-52.tar.bz2 tar -xf assetstore_elartu_02-20-2012_17-52.tar
Невдала спроба з pg_restore
sudo -u postgres pg_restore -c -d dspace -U postgres -Ft pg_dump_dspace_elartu_02-20-2012_13-27.tar sudo -u postgres psql -U dspace -f /home/dspace/source/dspace-1.8.1-src-release/dspace/etc/postgres/database_schema_15-16.sql dspace sudo -u postgres psql -U dspace -f /home/dspace/source/dspace-1.8.1-src-release/dspace/etc/postgres/database_schema_16-17.sql dspace sudo -u postgres psql -U dspace -f /home/dspace/source/dspace-1.8.1-src-release/dspace/etc/postgres/database_schema_17-18.sql dspace sudo -u postgres psql -U dspace -f /home/dspace/source/dspace-1.8.1-src-release/dspace/etc/postgres/update-sequences.sql dspace
На жаль, при цьому, у виводі 1-ої команди багато помилок і БД відновлюється не повністю (відсутні зібрання та підфонди, групи користувачів і т.п.). Таблиця collection виглядає пустою. Можливо це звязано з різницею версію Posgres — 8.4. та 9.1.
Зокрема були такі помилки:
pg_restore: [archiver (db)] Error while PROCESSING TOC: pg_restore: [archiver (db)] Error from TOC entry 2145; 2606 25505 FK CONSTRAINT community2community_child_comm_id_fkey dspace pg_restore: [archiver (db)] could not execute query: ERROR: constraint "community2community_child_comm_id_fkey" of relation "community2community" does not exist Command was: ALTER TABLE ONLY public.community2community DROP CONSTRAINT community2community_child_comm_id_fkey; pg_restore: [archiver (db)] Error from TOC entry 2147; 2606 25522 FK CONSTRAINT community2collection_collection_id_fkey dspace pg_restore: [archiver (db)] could not execute query: ERROR: constraint "community2collection_collection_id_fkey" of relation "community2collection" does not exist Command was: ALTER TABLE ONLY public.community2collection DROP CONSTRAINT community2collection_collection_id_fkey;
Вдала спроба з бекапом „pg_dumpall“
Це варіант відновлення всієї БД Postgres (а не лише таблиці dspace як у попередньому випадку)
Базу даних можна витерти через phppgadmin. SQL з бекапу „pg_dumpall“ створить її наново.
sudo -u postgres psql -U postgres -f pg_dumpall_elartu_02-20-2012_13-27.sql sudo -u postgres psql -U dspace -f /home/dspace/source/dspace-1.8.1-src-release/dspace/etc/postgres/database_schema_15-16.sql dspace sudo -u postgres psql -U dspace -f /home/dspace/source/dspace-1.8.1-src-release/dspace/etc/postgres/database_schema_17-18.sql dspace sudo -u postgres psql -U dspace -f /home/dspace/source/dspace-1.8.1-src-release/dspace/etc/postgres/database_schema_17-18.sql dspace sudo -u postgres psql -U dspace -f /home/dspace/source/dspace-1.8.1-src-release/dspace/etc/postgres/update-sequences.sql dspace
Також
sudo -u dspace /dspace/bin/dspace index-init
При цьому пароль до БД „dspace“ такий як у версії старій 1.5.2. Отож, якщо він відрізняється, то його також потрібно поправити і у dspace.cfg
Сховище assetstore
Переміщуємо вміст сховища assetstore 1.5.2 до теки /dspace/assetstore
та виставляємо права
sudo chown -R tomcat6:tomcat6 /dspace/assetstore
Перегенерація пошукового індексу
sudo -u dspace /dspace/bin/dspace index-init
Див. також
Посилання
- dspace.2283337.n4.nabble.com/ „Dspace-tech: Restoring backup“