[Résolu] Restauration d'un environnement à un autre

cancel
Showing results for 
Search instead for 
Did you mean: 
ccoue
Member II

[Résolu] Restauration d'un environnement à un autre

Bonsoir,

Je n'arrive pas à mettre en place une procédure efficace de sauvegarde et restauration sur Alfresco labs 3d sur windows 2003/xp avec mysql :

J'ai trois environnements différents en Labs3d / Mysql, 2 XP et 1 2003.

1/ sauvegarde de 2003
         - j'arrête alfresco
         - je copie l'intégralité d'alfresco
         - mysqldump alfresco > alfresco.sql

2/ restauration sous XP
Sur ce que j'ai trouvé en documentation et messages du forum, j'ai tenté diverses restaurations
          - mysqldump alfresco < alfresco.sql
          - j'efface et recopie le contenu du répertoire alf_data
                    > j'ai renommé backup-lucene-indexes en lucene-indexes
          - je modifie dans <configroot>\classes\alfresco\repository.properties index.recovery.mode=VALIDATE en index.recovery.mode=FULL
                    > au lancement de l'appli, les index sont reconstruits et celle-ci se retrouve vide de contenu
                    > en arrêtant l'appli et remodifiant dans <configroot>\classes\alfresco\repository.properties index.recovery.mode=FULL en index.recovery.mode=VALIDATE
org.alfresco.error.AlfrescoRuntimeException: L'entrepôt '{0}' a une entrÚe dupliquée dans le noeud racine.

Je n'arrive pas à trouver quel est le contenu à sauvegarder et restaurer en dehors du répertoire alf_data ou dir.root.
Merci de votre aide ou de m'indiquer le lien que j'ai raté sur les fondamentaux de la sauvegarde sous Alfresco.

:?:
4 Replies
ccoue
Member II

Re: [Résolu] Restauration d'un environnement à un autre

Bon j'ai trouvé tout seul mes erreurs et c'est bien comme cela, c'est comme ça qu'on avance. C'était une erreur côté mysql.
Donc après relecture de http://wiki.alfresco.com/wiki/Backup_and_Restore qui insiste sur la qualité de la sauvegarde de la base de données, j'ai effectué le script de sauvegarde à chaud suivant pour windows/mysql :
echo off
echo.
echo # Sauvegarde Mysql a chaud
echo.

mysqldump -u root -p***** alfresco –single-transaction > D:\sauvegarde\MySQL\alfresco_hot.sql

echo.
echo # Sauvegarde Alfresco dir.root a chaud
echo.

robocopy d:\alfresco\alf_data\contentstore\ D:\sauvegarde\dir.root\contentstore\ /mir /r:1 /w:1 > D:\sauvegarde\backup_hot.log
robocopy d:\alfresco\alf_data\contentstore.deleted\ D:\sauvegarde\dir.root\contentstore.deleted\ /mir /r:1 /w:1 >> D:\sauvegarde\backup_hot.log
robocopy d:\alfresco\alf_data\audit.contentstore\ D:\sauvegarde\dir.root\audit.contentstore\ /mir /r:1 /w:1 >> D:\sauvegarde\backup_hot.log
robocopy d:\alfresco\alf_data\backup-lucene-indexes\ D:\sauvegarde\dir.root\backup-lucene-indexes\ /mir /r:1 /w:1 >> D:\sauvegarde\backup_hot.log

echo.
echo # Sauvegarde a chaud terminee.


Ensuite pour la restauration sur une autre machine :
@echo off
set log=D:\ged\pilotage\update.log

date /t > %log% & time /t >> %log%

echo.
echo # arret de la jvm
echo.
call D:\Alfresco\alf_stop.bat
set a=1
:pause
set /a a=%a%+1
if %a%==10000 goto suite
goto pause
:suite
tskill java

echo.
echo # connexion au poste source
echo.
net use z: /d
net use z: \\ip\partage

echo.
echo # copie des fichiers a restaurer
echo.
robocopy.exe Z:\dir.root D:\ged\pilotage\dir.root /mir /r:1 /w:1 >> %log%
xcopy /y Z:\MySql\alfresco_hot.sql D:\ged\pilotage\mysql >> %log%

echo.
echo # rechargement donnees Alfresco
echo.
robocopy D:\alfresco\alf_data\ D:\ged\pilotage\alf_data\ /mir /r:1 /w:1 >> %log%
rd D:\Alfresco\alf_data /s /q >> %log%
md D:\Alfresco\alf_data >> %log%
robocopy D:\ged\pilotage\dir.root\ D:\alfresco\alf_data\ /mir /r:1 /w:1 >> %log%
ren  D:\alfresco\alf_data\backup-lucene-indexes lucene-indexes >> %log%

echo.
echo # rechargement DB mysql
echo.
mysql -u root -p***** -e "drop database Alfresco;"
mysql -u root -p***** -e "create database Alfresco;"
mysql -u root -p***** Alfresco < D:\ged\pilotage\mysql\Alfresco_hot.sql

date /t >> %log% & time /t >> %log%

Et après si il y a un problème d'index au démarrage, je modifie D:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\repository.properties en mettant AUTO à index.recovery.mode=VALIDATE. Si il faut, je mets ensuite FULL et le repasse à VALIDATE quand c'est OK.
dranakan
Active Member

Re: [Résolu] Restauration d'un environnement à un autre

Hello,

Je suis entrain de réfléchir au meilleur moyen pour sauver mon Alfresco/Mysql sous Redhat.

Je ne suis pas encore sûr si je peux faire un hotbackup avec Mysql…

Peut-on uniquement faire un myqldump pour sauver (en hot) la base ? Ou est-il préférable d'éteindre mysql (Alfresco avant), copier les fichiers de données de la base, rédémarrer et en plus faire un mysqldump comme conseillé ici : http://dev.mysql.com/doc/refman/5.0/fr/backing-up.html

Merci :-)
rguinot
Customer

Re: [Résolu] Restauration d'un environnement à un autre

Les backups à chaud des indexes lucene sont à proscrire comme vous semblez le faire. Vous pouvez par contre backuper a chaud le repertoire lucene-indexes-backup qui est une copie J-1 de vos indexes, si bien sur votre job de backup des indexes fonctionne corrrectement
D'autre part, je backuperais la base avant de backuper le repository.
dranakan
Active Member

Re: [Résolu] Restauration d'un environnement à un autre

Merci rguinot pour la réponse.

Ok pour le backup d'Alfresco.

Mais en ce qui concerne le backup de MySql, peut-on se contenter d'un mysqldump à chaud ?

Donc pour sauver Alfresco/Mysql :

    (en fonctionnement, à chaud)
    mysqldump
    sauver le alf_data (sauf index-lucenes)
Merci